Проблемы с MSBuild OutputPath и OutDir в TFS2010 - PullRequest
7 голосов
/ 28 июня 2011

У нас есть очень большое решение (около 300+) проектов, и мы пытаемся построить его через MSBuild на TFS2010. Мы можем создать его через MSBuild на всех наших машинах для разработки и в настоящее время внедряем TFS.

Структура нашего кода выглядит так:

bin\Client
bin\Server
Framework\ClientFramework.csproj
Modules\Module1\Project1
Modules\Module2\Project2
etc.

Каждый проект имеет относительный OutputPath, который создает код в каталоге клиента или сервера bin. Так, например, Project1.csproj имеет OutputPath «.. \ .. \ bin \ Client».

У нас, похоже, проблема в том, что в TFS MSBuild для OutDir задан фиксированный путь:

C:\Builds\MyProject\Binaries\

Таким образом, все становится запутанным при разрешении относительного OutputPath поверх OutDir

  • ClientFramework отправляется в C: \ Builds \ MyProject \ Binaries \ .. \ bin \ Client
  • Project1 отправляется в C: \ Builds \ MyProject \ Binaries \ .. \ .. \ bin \ Client
  • и т.д.

У нас также есть некоторые события Post build, которые копируют некоторые сторонние dll в папки bin, эти пути также не могут быть разрешены должным образом.

Я думаю, что решение, которое мы ищем, состоит в том, чтобы собрать все в существующую структуру bin \ Client, bin \ Server, а затем переместить папки из bin в Binaries.

Любые идеи о том, как этого добиться или как мы должны работать, приветствуются, но обновление наших существующих проектов может оказаться проблематичным, поскольку все это работает с VS, сборками командной строки разработчика и с CC.net.

Ответы [ 2 ]

7 голосов
/ 06 мая 2013

Так как это первая ссылка, которая появляется в поиске Google «TFS OutDir», я должен предоставить более новое решение.Я провел целый день, играя с OutDir, OutputPath и переопределяя их с TeamBuildOutDir.Лучшее решение - установить свойство MSBuild GenerateProjectSpecificOutputFolder.Поставляется с .NET 4.5.Больше информации здесь: http://blog.codeassassin.com/2012/05/10/override-the-tfs-team-build-outdir-property-net-4-5/

6 голосов
/ 28 июня 2011

Я нашел ответ на MSDN: http://msdn.microsoft.com/en-us/library/ff977206.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...