У меня была странная ситуация, когда, несмотря на то, что сборка была ссылкой на проект и на нее ссылалось «Копировать локальный», отображаемый как «True» в окне свойств ссылки, DLL не копировалась в выходной каталог. У меня была более ранняя версия DLL в GAC, но я не понял, почему это должно предотвратить копирование DLL.
Я обнаружил, что, выгружая проект и вручную редактируя XML-код проекта, выполните следующие действия:
<ProjectReference Include="..\SomeProject.csproj">
<Project>{11111111-1111-1111-1111-111111111111}</Project>
<Name>Some Project Name</Name>
<Private>True</Private>
</ProjectReference>
DLL была скопирована в выходной каталог, как и ожидалось. Я обнаружил, что просто установка Copy Local на True в окне свойств означала, что элемент <Private>
полностью отсутствовал, но в случае установки на false он присутствовал со значением «False».