近來做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還是有待改進滴~
轉載于:https://www.cnblogs.com/lmjob/archive/2008/03/23/1118768.html