3.5 vs2008 を実行している WCF プロジェクトを .net 4.0 vs2010 にアップグレードしたところ、問題が発生しました。vs2010 からコンパイルすると、サービス実装プロジェクトのアセンブリが devenv.exe によってロックされます (デバッグは行わないことに注意してください - コンパイルのみ)。アセンブリは、vs2010 の再起動時にリリースされ、再起動するたびに 1 回コンパイルできます。私がこれまでに試したこと:
- PreBuild イベントを挿入してアセンブリのロックを解除する
- アセンブリ バージョンのワイルド カードを削除しました
- ソースステッピングの無効化
- Windows検索を停止しました
- IIS を停止しました
- vs2010 を終了し、sln.suo と bin/obj フォルダーを削除しました
- ブログと SO の投稿を 3 日間読んでください :)
- サービス プロジェクトからすべての参照を削除し、再度追加しました
私はほとんどアイデアを使い果たしました.Microsoftはこれについて説明がなく、修正されていないようです. どんなアイデアでも大歓迎です!
エラーメッセージ:
ファイル ".....some path...\Debug\HelperLibrary.Service.dll" を "bin\Debug\HelperLibrary.Service.dll" にコピーできません。別のプロセスで使用されているため、プロセスはファイル 'bin\Debug\HelperLibrary.Service.dll' にアクセスできません。
おまけ情報: msbuild でプロンプトからコンパイルする場合、問題はありません。vs2010 からコンパイルする場合のみ。もちろん、古い vs2008 ソリューションも引き続き機能します。
Microsoft チケット: https://connect.microsoft.com/VisualStudio/feedback/details/682485/use-of-testaccessor-and-impl-of-codeaccesssecurityattribute-locks-assembly