複数の DLL 参照に依存する Visual Studio プロジェクトがあります。これは、私の csproj でのこれらの参照のサンプルです。
<ItemGroup>
<Reference Include="Class1.Project1">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\bin\Class1.Project1.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Class1.Project2">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\bin\Class1.Project2.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
ただし、このクラスをプロジェクトの依存関係として Web サイト プロジェクトに含めると、Visual Studio は上記の依存関係の依存関係を検出します。ビルド中、Visual Studio は "Copy Local" プロパティを "True" にデフォルト設定し、これらの依存関係を Web サイトの ~/bin ディレクトリにコピーします。
これにより、このディレクトリに既に存在する DLL ファイルのバージョンが上書きされます。これにより、次のエラーが発生します。
ファイルまたはアセンブリ 'Class5.Project5, Version=3.6.1861.2, Culture=neutral, PublicKeyToken=dfeaee0e3978ac79' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
Visual Studio のデフォルトの "Copy Local" 設定をすべて"False" にするにはどうすればよいですか? ビルド中に Visual Studio で DLL ファイルを自動的にコピーしたくありません。また、ビルドを非常に特定のバージョンの DLLに結び付けたくもありません。