Ссылочный DLL-файл не копируется в корзину с проектом развертывания, вызвавшим ошибку - PullRequest
58 голосов
/ 01 июня 2010

У нас есть несколько внешних DLL-файлов, на которые есть ссылки в нашем проекте веб-приложения.У нас есть проект развертывания для установки на серверы хостинга.Когда мы использовали .NET 3.5 и Visual Studio 2008, DLL-файл копировался в папку bin.Поскольку мы обновились до .NET 4 и Visual Studio 2010, этого больше не происходит, и мы получаем ошибки серверов, поскольку ссылки не могут быть найдены.

Для CopyLocal установлено значение true, и я не могу найти что-либо в Интернете.config, который предполагает, что это устанавливается в другом месте.

Ответы [ 13 ]

0 голосов
/ 10 декабря 2013

Мы можем использовать <Private>False</Private>, чтобы не копировать указанные DLL-файлы в каталог bin. Это полезно, когда мы собираем приложения на отдельном сервере сборки TFS, где нам нужно собирать приложение, а не копировать файлы DLL в каталог bin.

0 голосов
/ 25 апреля 2013

Я не встречал ту же проблему, но похожую. У меня был основной проект WPF и ссылочный проект, на который ссылочная копия не копировалась. Я обнаружил, что в моем случае основной проект был настроен на NET 4.0 Client Profile и ссылался на NET 3.5. Когда я установил основной проект на 3.5, скомпилированная библиотека ссылочного проекта начала копировать. (Я не знаю почему, потому что я решил это на практике)

0 голосов
/ 01 июня 2010

Я не уверен, как это было настроено в Visual Studio 2008, но я почти уверен, что вы могли использовать командную строку события после сборки. Там вы можете сказать, чтобы скопировать файлы DLL, необходимые для развертывания. Пример приведен ниже:

mkdir $(SolutionDir)\Deployment
copy "$(SolutionDir)Your_Library_Name\Your_Dll_ForDeployement.dll" 
$(SolutionDir)\Deployment\
...