我有一个依赖于几个 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>
但是,当我将此类作为项目依赖项包含在网站项目中时,Visual Studio 会查找上面显示的依赖项的依赖项。在构建过程中,Visual Studio 会将“Copy Local”属性默认为“True”,并将这些依赖项复制到我网站的 ~/bin 目录中。
这反过来又会覆盖该目录中已存在的 DLL 文件的版本。这会导致以下错误:
无法加载文件或程序集 'Class5.Project5, Version=3.6.1861.2, Culture=neutral, PublicKeyToken=dfeaee0e3978ac79' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)
如何使 Visual Studio 将所有内容的“复制本地”设置默认为“假” ?我不希望 Visual Studio 在构建期间自动复制 DLL 文件。我也不想将我的构建绑定到非常特定的 DLL 版本。