У нас есть очень большое решение (около 300+) проектов, и мы пытаемся создать его с помощью MSBuild на TFS2010. Мы можем собрать его с помощью MSBuild на всех наших машинах для разработки, и сейчас мы находимся в процессе принятия TFS.
Структура нашего кода выглядит так:
bin\Client
bin\Server
Framework\ClientFramework.csproj
Modules\Module1\Project1
Modules\Module2\Project2
etc.
Каждый проект имеет относительный OutputPath, который собирает код для bin Client или каталог сервера. Так, например, Project1.csproj имеет OutputPath ".. \ .. \ bin \ Client".
Кажется, у нас возникла проблема из-за того, что в TFS MSBuild для OutDir задан фиксированный путь:
C:\Builds\MyProject\Binaries\
Итак все становится запутанным, когда разрешение относительного OutputPath поверх OutDir
У нас также есть некоторые события сборки Post, которые копируют некоторые сторонние dll в папки bin, эти пути также не могут быть разрешены должным образом.
Я думаю, что решение мы должны собрать все в существующую структуру bin \ Client, bin \ Server, а затем переместить папки из bin в двоичные файлы.
Любые идеи о том, как это сделать или как мы должны работать, приветствуются, но обновление наши существующие проекты могут оказаться проблематичными, поскольку все это работает с VS, сборками командной строки разработчика и с CC.net.