Chúng tôi có một giải pháp rất lớn (khoảng 300+) dự án và chúng tôi đang cố gắng xây dựng nó thông qua MSBuild trên TFS2010. Chúng ta có thể xây dựng nó thông qua MSBuild trên tất cả các máy phát triển, và đang trong quá trình áp dụng TFS.Vấn đề với MSBuild OutputPath và OutDir trong TFS2010
Cấu trúc của mã của chúng tôi là như vậy:
bin\Client
bin\Server
Framework\ClientFramework.csproj
Modules\Module1\Project1
Modules\Module2\Project2
etc.
Mỗi dự án có một OutputPath tương đối trong đó xây dựng mã để Client bin hoặc thư mục Server. Vì vậy, ví dụ, Project1.csproj có một OutputPath của ".. \ .. \ bin \ Client".
Chúng tôi dường như có một vấn đề mà trong TFS MSBuild các OutDir được thiết lập để một con đường cố định:
C:\Builds\MyProject\Binaries\
Vì vậy, mọi thứ đang trở bối rối khi giải quyết các OutputPath tương đối trên đầu trang của OutDir
- ClientFramework đi vào C: \ xây dựng \ MyProject \ Binaries \ .. \ bin \ khách hàng
- Project1 đi vào C: \ xây dựng \ MyProject \ Binaries \ .. \ .. \ bin \ khách hàng
- v.v.
Chúng tôi cũng có một số sự kiện xây dựng bài đăng sao chép một số dll của bên thứ ba vào thư mục bin, những đường dẫn này cũng không thể được giải quyết đúng cách.
Tôi nghĩ giải pháp mà chúng ta đang làm sau là xây dựng mọi thứ cho cấu trúc bin \ Client, bin \ Server hiện có của chúng ta và sau đó di chuyển các thư mục từ thùng rác sang Binaries.
Bất kỳ ý tưởng nào về cách thực hiện điều này hoặc cách chúng tôi nên làm việc, được đánh giá cao, nhưng việc cập nhật các dự án hiện tại của chúng tôi có thể gây ra vấn đề, vì tất cả đều hoạt động với VS, xây dựng dòng lệnh của nhà phát triển và với CC.net.
Bài viết của Microsoft tại đây: Kiểm soát nơi hệ thống xây dựng đặt địa điểm nhị phân của bạn http://msdn.microsoft.com/en-us/library/ff977206.aspx –