У меня есть проект Visual Studio, который опирается на несколько ссылок на DLL. Вот пример этих ссылок в моем 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 по умолчанию устанавливает для свойства «Копировать локальное» значение «True» и копирует эти зависимости в каталог ~ / bin моего веб-сайта.
Это, в свою очередь, перезаписывает версии файлов DLL, которые уже существуют в этом каталоге. Это вызывает следующую ошибку:
Не удалось загрузить файл или сборку
'Class5.Project5, Версия = 3.6.1861.2,
Culture = нейтрально,
PublicKeyToken = dfeaee0e3978ac79 'или
одна из его зависимостей. Расположенный
определение манифеста сборки делает
не совпадает со ссылкой на сборку.
(Исключение из HRESULT: 0x80131040)
Как сделать Visual Studio по умолчанию для параметра «Копировать локальный» значение «Ложь» для всего ? Я не хочу, чтобы Visual Studio автоматически копировал файлы DLL во время сборки. Также я не хочу связывать свою сборку с очень конкретными версиями DLL.