![](/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.