Настройка проекта с двумя основными выходами с использованием общих зависимостей
У меня есть решение в Visual Studio с 4 проектами - 2 приложения формы Windows, библиотека классов и проект установки.
Оба приложения форм Windows ссылаются на проект библиотеки классов.
Мой проект установки включает в себя первичные выходные данные для обоих приложений форм Windows, и обнаруженные зависимости включают библиотеку классов.
Я поместил один из основных выходов в папку приложений, а другой в подпапку. Проблема в том, что сборка библиотеки классов устанавливается только в каталог папки приложения, но мне также нужно, чтобы она находилась в подкаталоге, в противном случае одно из приложений формы Windows не будет работать. Как я могу получить его для установки в обоих местах? Можно ли обойтись без добавления сборки вручную?
3 ответа
Очень просто:
Для каждого проекта установки, в котором необходимо ссылаться на некоторые сборки и использовать каждую из них в двух разных местах, создайте два MergeModuleProjects. Первый содержит файловую систему относительно одного из мест сборки, другой содержит файловую систему относительно другого места сборки. Тогда проект установки, который у вас изначально был, будет ссылаться только на 2 проекта MergeModuleProjects. проект установки против проекта модуля слияния
Пример: Setup1 имеет следующую файловую систему:
folder1
{
folder2
{
assembly1
}
folder3
{
asembly3
}
}
Затем вы заменяете структуру выше следующей:
Setup1 имеет следующую файловую систему: (нет) Setup1 ссылается на MergeModule1 и MergeModule2 MergeModule1 имеет следующую файловую систему:
folder1
{
folder2
{
assembly1
}
}
MergeModule2 имеет следующую файловую систему:
folder1
{
folder3
{
assembly1
}
}
Надеюсь, что это все еще актуально. Вот как я это сделал. Предполагая, что все зависимости скопированы в выходной каталог ваших проектов:
- Щелкните правой кнопкой мыши Добавить> Сборка...
- Перейдите в выходной каталог ваших проектов и выберите необходимые библиотеки
- Удалить дубликаты, если таковые имеются
Простым решением было бы установить оба.exes в ту же папку, что и DLL, необходимые для их запуска. Вы можете поместить ярлык для второго.exe в подпапку, если хотите.