Вопрос : можно ли запустить mono msbuild
и заставить его использовать определенные каталоги в качестве определенных пространств имен.Например, пространство имен DevExpress
может быть сопоставлено с каталогом /app/MyApp/DevExpress
.Или, если это не вариант, как мы можем информировать наш проект о недавно установленных пакетах с NuGet?
Для некоторого контекста: несколько лет назад мы унаследовали (очень) устаревший стекприложений, в том числе .NET-приложений, использующих DevExpress для создания набора из 3 приложений, используемых моим клиентом для запуска его событий.Мы не знаем .NET (клиент был предупрежден и принял это, желая сосредоточиться на своих веб-приложениях), но нам удалось стабилизировать его и уже несколько лет компилировать его с помощью PowerShell и msbuild.
Мы надеемся автоматизировать большую часть потока этого клиента в этом году, чтобы сэкономить много времени.В рамках этого мы хотели бы автоматически скомпилировать приложения .NET на нашем CI-сервере и отправить сжатые файлы, готовые к развертыванию, когда клиенту требуется новая установка.
Проект не *Изначально 1018 * использовал NuGet, но для автоматизации всего этого мы подумали, что можем установить контейнер Docker с моно, использовать nuget для извлечения зависимостей и затем скомпилировать.
К сожалению, в настоящее время мы сталкиваемся с проблемой с разрешения пространства именне похоже на работу.
"/app/MyApp/MyApp.csproj" (default target) (1) ->
"/app/DataAccessLayer/DataAccessLayer.csproj" (default target) (3:2) ->
(CoreCompile target) ->
xp Server Objects/dbo_CITY.cs(6,7): error CS0246: The type or namespace name 'DevExpress' could not be found (are you missing a using directive or an assembly reference?) [/app/DataAccessLayer/DataAccessLayer.csproj]
Редактировать : я отметил ответ zivkan как правильный, поскольку, хотя он не дал мне решения, я мог пойти и реализовать, он далЯ (и, надеюсь, этот вопрос) много полезной информации, чтобы двигаться вперед.