プロジェクトのプロパティを使用して、.dll プロジェクトの出力フォルダーを設定しました。これを「出力」と呼びます。
問題は、空の出力フォルダーから、初めてプロジェクトをビルドしたときに問題ないことです。2 回目は、次のエラーが表示されます。
エラー 328 ファイル "obj\Release\MyLibrary.dll" を "......\Output\Release\MyLibrary.dll" にコピーできません。ファイル '......\Output\Release\MyLibrary.dll' は別のプロセスによって使用されているため、プロセスはアクセスできません。
「別のプロセス」は、Visual Studio の vshost.exe です。MyLibrary.dll にアクセスし続けるため、削除または置換できないため、エラーが発生します。これにより、出力フォルダーの MyLibrary.dll が更新されません。ただし、私のソリューションには、これが起こらない他の .dll プロジェクトがあります。
これまでに更新に使用した解決策は、VS を閉じて (vshost.exe を閉じて)、Output\Release\MyLibrary.dll ファイルを削除する .bat ファイルを実行してから、VS を再度開き、そのプロジェクトを再構築することです。 .
私は vshost.exe が正確に何をしているのかほとんど知らないので、この問題を根本から解決するためにどこから始めればよいかわかりません。これが特定の .dll で発生する理由はわかりません。なぜこれが起こるのかを調査するのに役立つアイデアに感謝します。