У меня есть проект развертывания 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, присутствуют; только один выход проекта отсутствует.
(Изменить) Я проверил, что для ссылки задано значение Копировать локальное в окне свойств ссылки. DLL для упомянутого проекта помещается в папку bin\Release в каталоге службы Windows, но не упакована в файл MSI, созданный для проекта развертывания.
(Edit 2) Следуя предложению Джозефа Дайгла, я проверил, что зависимость находится в списке зависимостей для первичного вывода, и он не помечен как "исключенный", поэтому это не является причиной этой проблемы.
Почему просто один проект не будет отсутствовать?