.NET_STAR

打造技术团队,愿与您共同开创事业!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::
近来做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还是有待改进滴~
posted on 2008-03-23 21:06  雷明  阅读(402)  评论(0编辑  收藏  举报