![](/img/trans.png)
[英]Exclude .csproj from VisualStudio 2012 .sln when using Mono Compiler
[英]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。
我目前正在開發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.