Я работаю над некоторыми вещами, которые я унаследовал, которые имеют немного неопрятную структуру проекта. Некоторые из проектов ссылаются на Первичную сборку взаимодействия (PIA), которую предполагается установить в GAC. В папке решения есть примечание, в котором говорится (в итоге): «Прежде чем строить этот проект, сначала соберите X, Y и Z и вручную установите их в GAC». Ну, это не очень способствует автоматизации или непрерывной интеграции, не так ли?
Я хочу, чтобы эта сборка работала на сервере сборки TeamCity, агент сборки будет работать на машине, на которой не установлены PIA в глобальном кэше сборок (GAC). Таким образом, сборка не удастся. Я не хочу устанавливать эти PIA на каждом компьютере с агентом сборки, мне нужно, чтобы сборка была автономной, чтобы она могла собираться из чистого исходного кода, от супа до орехов. Так что вопрос двоякий.
- Как я могу структурировать сборку так, чтобы она была автономной и не ломалась, если есть какие-либо зависимости от GAC?
- Если (1) выполнено успешно, как это повлияет на развертывание на настольных компьютерах конечных пользователей, где должны быть установлены PIA в GAC?
Буду признателен за совет экспертов сообщества Stack Overflow.