Так что я не могу использовать тот факт, что файлы csproj знают все свои зависимости? Означает ли это, что я должен поддерживать зависимости в двух местах (csprojs и msbuild)?
я есть обычный файл SLN, и я прекрасно его компилирую с помощью msbuild из командной строки. Я делаю это:
C: \ slndir> msbuild / p: OutDir = C: \ slnbin \ И он выгружает все в C: \ slnbin, за исключением веб-сайтов, которые развертываются в C: \ slnbin_PublishedWebsites \.
Я хотел бы, чтобы все двоичные файлы не только удалялись из каталога bin, но также чтобы каждая исполняемая программа имела свою собственную «развернутую» папку, аналогичную той, которую получает каждый веб-сайт.
Так, например, если у меня есть следующие проекты: - Common - Lib1 - Service1 - Lib2 - Service2
Я хочу получить:
Я попытался сделать что-то вроде «msbuild / p: OutDir = C: \ slnbin \ $ (ProjectName)», но он просто обрабатывает его как литерал и создает фактический подкаталог «$ (ProjectName)».
C:\slnbin\ // Everything
C:\slbin\Deploy\Service1 // Common, Lib1, Service1
C:\slbin\Deploy\Service2 // Common, Lib2, Service2
Желательно, чтобы мне не приходилось изменять каждый отдельный проект и так далее.
Это возможно? Легко?
Как сказал Джон Сондерс, вам нужно иметь основной файл MSBuild, который обрабатывает процесс.