VS2005发布网站问题及aspnet_merge.exe”已退出,代码为 1的错误
解決方法二:實際上在我們的一個實際ASP.NET 2.0的解決方案中來應用這種方式出現了問題,下面我就講一下我的解決過程希望對大家有所幫助。
我們的解決方案包括22個項目(主要是類庫),其中的一個WEB項目是負責用戶UI的,傳統的生成或是發布網站的方式沒有任何問題,當使用Web Deployment Projects工具生成唯一程序集時出現了錯誤信息“Aspnet_merge.exe Exited with Code <?XML:NAMESPACE PREFIX = ST1 />1”(Aspnet_merge.exe 退出,錯誤代碼1),這樣的信息根本無法讓我們辦斷到底是哪里出了問題。好,下面依次打開VS 2005的工具-選項-項目和解決方案-生成并運行,設置“MSBuild 項目生成輸出詳細信息”,選擇“詳細”。再次生成Web Deployment Projects項目,注意“輸出”框內的信息現在變得非常豐富了,最后導致無法編譯的問題終于出來了“An error occurred when merging assemblies: ILMerge.Merge: ERROR!!: Duplicate type ‘_Default’ found in assembly 'App_Web_k5hhsnh0'”,它的意思是說在程序集中發現了相同的類型_Default,經過我檢查確實在我們的WEB項目中存在了兩個_Default類(在不同的目錄中或者是ascx和aspx的同名文件),這樣的問題通過一般的生成完成和發布網站肯定都是檢測不出來的,運行也是正常的。VS 2005的WEB項目默認的把命名空間給去掉了,可以手動增加一個命名空間,cs代碼中加入namespace的語句塊,另外別忘了在aspx文件的<@page>的Inherits中寫入對應的[namespace].[類名];經過這樣的操作再次編譯成一個程序集就沒有問題了(備注:這個項目前后一共發現了5對類名稱一致的情況,加上命名空間或是改名稱就可以解決了)。
上面就是結合我的項目實際解決的問題,暫時還沒有發現別的錯誤出來。使用有問題的朋友也多多交流。
轉載于:https://www.cnblogs.com/lmjob/archive/2007/09/24/904274.html
總結
以上是生活随笔為你收集整理的VS2005发布网站问题及aspnet_merge.exe”已退出,代码为 1的错误的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp 中使用Ftp.exe 上传大文件
- 下一篇: 表空间迁移(transport tabl