У меня есть проект развертывания VS2008, в котором создается установщик для пары служб Windows.
Каждая служба ссылается на несколько разных проектов:
CustomerName.MailSendingService -> CustomerName.Network -> CustomerName.Data -> CustomerName.Security CustomerName.ProductIntegrationService -> CustomerName.Core -> CustomerName.Security
Проекты служб Windows, проекты, на которые они ссылаются, и проект развертывания - все в одном решении VS2008.
Я добавил основной вывод из проектов службы Windows в редактор файловой системы проекта развертывания.
Я ожидаю, что основной результат для проектов служб Windows будет включать библиотеки DLL из проектов, на которые имеются ссылки. Однако при создании проекта развертывания библиотека DLL одного из проектов, на которые имеется ссылка, отсутствует. (CustomerName.ProductIntegrationService
отсутствует CustomerName.Security
)
К сожалению, присутствуют библиотеки DLL для других проектов, на которые ссылается служба Windows; отсутствует результат только одного проекта.
(Edit) Я проверил, что для ссылки установлено значение «Копировать локально» в окне свойств ссылки. DLL для указанного проекта помещается в папку bin\Release
проекта службы Windows, но не упакована в файл MSI, созданный для проекта развертывания.
(Изменить 2) Следуя предложению Джозефа Дейгла, я проверил, что зависимость находится в списке зависимостей для основного вывода и не помечена как «исключена», так что, похоже, это не является причиной этой проблемы.
Почему не хватало результатов только одного проекта?