Отсутствуют ссылки на пакет развертывания .NET MVC 3 - PullRequest
4 голосов
/ 24 марта 2012

В проекте ASP.NET MVC3 у меня есть такая структура:

Core.csproj
 -> 3rdparty1.dll
    -> 3rdpartyreference.dll
 -> 3rdparty2.dll

Web.csproj
 -> core.dll

Я использую функцию Build Deployment Package в VS2010.Когда я собираю, в последней директории bin отсутствуют некоторые ссылки.Он содержит только файлы web.dll, core.dll, 3rdparty1.dll и 3rdparty2.dll, но отсутствует 3partyreference.dll.

Как заставить функцию развертывания скопировать все необходимые ссылки?(не создавая вручную специальную инструкцию "copything.dll" в afterbuild в csproj)

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

Задачи MSBuild, участвующие в пакете развертывания и публикации функций VS 2010, не могут получить косвенные ссылки, когда ваше приложение зависит от сборки, которая зависит от другой. Либо вы можете скопировать файлы вручную (не рекомендуется), либо вы можете добавить неиспользуемую ссылочную переменную в ваш основной проект, которая указывает на какой-то класс в secondpartyreference.dll. Эта ссылочная переменная, даже если она не используется, заставит VS 2010 думать, что у вас есть явная зависимость от этой сторонней библиотеки dll, и скопировать ее в каталог bin, как и ожидалось.

1 голос
/ 24 марта 2012

Функция, которую вы ищете, называется «Развертывание корзины».В этой статье представлено пошаговое решение.По сути, вам нужно добавить развертываемые сборки в ваш проект - в структуре вашего проекта появится папка, в которую вы сможете добавить необходимые DLL-файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...