簡體   English   中英

TFS 2012 Build:sln還是csproj?

[英]TFS 2012 Build: sln or csproj?

只是想知道在TFS 2012中構建項目時sln或csproj文件之間是否存在首選項。我們通常在TFS中構建sln文件以支持我們的開發團隊,這通常是標准,但是一個團隊問我們為什么不能構建csproj文件而是在TFS中。

我注意到要構建一個csproj文件,您必須在MSBuild Arguments字段中為TFS構建定義提供參數,並且在構建解決方案文件時不必提供這些參數。 除了這個小細節之外,我不確定構建sln與csproj之間的利弊是什么。

有人可以了解一下在TFS中建立sln vs csproj的好處,優點/缺點,是否有通用的做法,標准,還是真的重要?

只是想知道在TFS 2012中構建項目時sln或csproj文件之間是否存在首選項。我們通常在TFS中構建sln文件以支持我們的開發團隊,這通常是標准,但是一個團隊問我們為什么不能構建csproj文件而是在TFS中。

他們為什么要這樣做? 這次調查是否有某種優勢?

我注意到要構建一個csproj文件,您必須在MSBuild Arguments字段中為TFS構建定義提供參數,並且在構建解決方案文件時不必提供這些參數。 除了這個小細節之外,我不確定構建sln與csproj之間的利弊是什么。

.sln是一個主項目,在運行時轉換為msbuild腳本,並將使用與解決方案中的.csproj項目相同的模式使用元數據文件。

要查看我正在談論的內容,請打開命令提示符,鍵入“SET MSBUILDEMITSOLUTION = 1”,然后鍵入“msbuild.exe solution.sln”,然后解析新的“solution.metaproj”和“solution.metaproj.tmp”文件。

有人可以了解一下在TFS中建立sln vs csproj的好處,優點/缺點,是否有通用的做法,標准,還是真的重要?

.csproj將是一個項目,而.sln將是項目的集合。 構建單個.csproj將產生該項目的輸出二進制文件(以及依賴項),並構建整個解決方案將產生整個解決方案的輸出。

我有同樣的問題。 構建時間可能會慢一些,但我自己沒有測試過(可能是一個可忽略的差異)。 我相信當你使用解決方案文件構建時,它會自動將'BuildInParallel'設置為true。

使用MSBuild加快Buidls

我目前正在開發TFS 2012部署版本。 根據我的經驗,除非確實需要,否則您不必提供MSBuild參數。

讓我們舉個例子:你有一個包含2個項目的解決方案,

Soln
> Web Proj 1
> Console Proj 2
> Dependency Library Folder

案例1:建立一個sln

一個。 在源設置中,您只需提及解決方案文件夾。 MSBuild將自動處理解決方案中的任何依賴項。

在Process - >要構建的項目中,您必須提及您的解決方案文件。

C。 例如,如果您的解決方案有一個Web項目,那么MSBuild輸出將如下所示,

\\<build server> \d$\Builds\<Build Name>\<Build File Name>_20141210.6\_PublishedWebsites\<web proj>

案例2:建立一個csproj

一個。 在源設置中,您必須單獨提及您的csproject文件夾以及依賴項文件夾路徑。

在Process - >要構建的項目中,您必須提及您的csproject文件。

如果您正在尋找更具體的信息,請告訴我們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM