2017-02-20 6 views
0

次のようなコマンドを持つWebサイトを構築して展開するスクリプトがあります。 msbuild.exe C:¥SOURCE¥WebSites¥WebSiteName¥website.publishproj/p:DeployOnBuild = true/p:PublishProfile = "WebSiteName Deploy" /p:VisualStudioVersion=14.0ILMerge.Merge:ERROR

このエラーが発生するまで、これは問題なく動作していました。 aspnet_merge:エラーが発生しました:ILMerge.Merge:アセンブリマージする際にエラーが発生したエラーを!!:重複タイプ「UserControlClassName」アセンブリに見出さ「App_Web_usercontrolclassname.ascx.cc671b29

をエラーで述べたユーザーコントロールが変更されていません。コードに重複はありません。コントロールを含むコードは変更されていないようです。

私が気づいたことは、1つのdllを使用していたパブリッシュディレクトリに、App_Web_5y43dp11.dllのような名前のものがいくつか存在することです。ユーザーコントロール自体のDLLを含む、App_Web_usercontrolclassname.ascx.cc671b29.dll

ご意見は大歓迎です。これは私たちのチームを何日間も混乱させています。

+0

DLLのマージには同じ名前のクラスがあります。マージできません。あなたのコマンドは、ilmerge呼び出しを表示しません。正しいDLLを一緒にマージしようとしていますか? –

答えて

1

多くの読書やトラブルシューティングを行った後、その問題がいくつかのユーザーコントロールを含む循環参照に関連しているように見えます。私たちのコントロールがフォルダに整理されているように並べ替えて、問題を修正しました。