aspnet_merge.exe がエラーになったときの対処法
少しはまってしまったのでメモ。 Visual Studio 2005 に Web Deployment Projects (WDP; 拡張子 wdproj) を導入し、大きめの Web サイトを発行しようとすると aspnet_merge.exe がエラーコード 1 を返すことがあります。 *1
たとえば、以下のようなエラーに遭遇します。
- "aspnet_merge.exe" はコード 1 を伴って終了しました。
- An error occurred when merging assemblies
一番多いエラー発生原因は、クラス名の重複です。特に _Default というクラス名が名前空間を使わずに複数含まれると発生します。解決するには、クラス名を変更してください。
上記原因以外の場合、検証は困難になります。 *2
それでも検証したいという場合、 Visual Studio のメニューから「ツール」-「オプション」-「プロジェクトおよびソリューション」-「ビルド/実行」-「MSBuild プロジェクト ビルドの出力の詳細」を「診断」などに変更してください。詳細なログが出力されるようになります。
*1:Visual Studio 2008 では、 aspnet_merge.exe のバージョンが上がっているため発生しないことが多いです。
*2:新しいバージョンの aspnet_merge.exe を使った方がいいかも……