您的位置:首页 > 编程语言 > PHP开发

VS2005中使用WebDeploymentProject的问题

2007-12-10 09:54 483 查看
转自:http://www.cnblogs.com/doomsword/archive/2007/04/09/705712.html

   近来做Web项目,VS2005中发布网站时默认发布大批的程序集,这给升级网站时造成很大麻烦,所以偶从MS下载了个WebDeploymentProject的插件(下载地址http://download.microsoft.com/download/c/c/b/ccb4877f-55f7-4478-8f16-e41886607a0e/WebDeploymentSetup.msi),安装完毕以后乐滋滋的运行,结果很郁闷,出个“aspnet_merge.exe已退出,代码为1”的莫明其妙的错误,上网查了半天,都说是在自定义属性的描述中有中文的缘故,比如[WebMethod(Description="测试方法")]这样子,可是偶的自定义描述都是用的E文的,查了良久还是未果,只好自己动手了。
        找到那个出错的程序aspnet_merge.exe,位置X:/Program Files/MSBuild/Microsoft/WebDeployment/v8.0。查看了其帮助说明,开始运行。
        (1)aspnet_merge d:/project/mmc -o mmc.dll
        结果:
        error 1008 : The PrecompiledApp.config file is mission. Make sure the application has been precompiled with the Aspnet_compiler tool.
        先要Compile是吧,OK,继续找到Compile工具,位置%Windir%/Microsoft.NET/Framework/v2.0.50727/。照旧按照帮助说明开始运行Compile。
        (2)aspnet_compiler d:/project/mmc -v /mmc -u -f
        结果OK。
       继续执行(1),结果如下:
       An error occurred  when merging assemblies : ILMerge.Merge: ERROR!!: Duplicate type '_Default' found in assembly 'App_Web_knnbg0wh'。
        呵呵,结果出来了,原来这个aspnet_merge默认要使用强命名,网站中不能出现同名的类,由于我的几个网站目录下都有Default页面,导致merge出错。
       解决了上述同名问题后,运行,一切正常,呵呵,感觉VS的IDE的出错信息还是有很多让人摸不着头脑的,遇到这种问题只能靠手动才行了,VS还是有待改进滴~  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息