繁体   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