首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用msbuild指定解决方案的项目文件

使用msbuild指定解决方案的项目文件
EN

Stack Overflow用户
提问于 2012-12-17 22:03:57
回答 3查看 101.8K关注 0票数 131

我需要使用msbuild构建解决方案的特定项目的命令行,就像我们使用devenv.com.In devenv.com所做的那样,我们可以使用以下命令行指定解决方案的项目

代码语言:javascript
运行
复制
devenv.com /Build Release|x86 test.sln /project "testproject"

使用上面的命令行,我可以使用devenv.com.What在test.sln中构建测试项目,这是用于相同解决方案的msbuild的命令行。

谢谢

EN

回答 3

Stack Overflow用户

发布于 2012-12-19 23:22:41

MSBuild实际上是通过使用项目而不是解决方案来工作的。该解决方案仅用于在内部将其解析为MSBuild中的临时项目文件。通过执行以下命令,您应该能够直接通过MSBuild构建感兴趣的项目。

代码语言:javascript
运行
复制
"msbuild testproject /p:Configuration=Release /p:Platform=x86"

我知道有一个主要问题,您可能会直接使用项目而不是解决方案:如果您使用解决方案来表达项目之间的依赖关系,而不是添加对项目的引用并让构建系统自动解决依赖关系。

如果您使用sln文件强制执行构建顺序,我建议将这些依赖项直接处理到项目文件中,并从sln中删除它们。这将允许您直接从MSBuild调用任何项目文件,并且项目都将独立构建,而不需要任何额外的工作。您真的应该将sln文件视为一组项目,以便在Visual Studio中更轻松地工作,而不是作为构建输入。

票数 20
EN

Stack Overflow用户

发布于 2016-11-02 13:12:42

作为信息发布给未来的搜索者

将以下代码添加到构建脚本中并运行一次。这将生成msbuild实际使用的确切目标和其他信息。

例如:如果项目名称或文件夹中包含.,则msbuild将使用_代替.

代码语言:javascript
运行
复制
set MSBuildEmitSolution=1

获得信息后,使用所需的详细信息更新构建脚本。

票数 8
EN

Stack Overflow用户

发布于 2019-03-20 03:16:30

为了添加额外的信息,在项目文件夹中执行msbuild将默认构建项目文件,因为它是其中唯一的文件。

代码语言:javascript
运行
复制
>msbuild

以这种方式使用msbuild有很多不同的变体。您可以直接指定项目文件。

代码语言:javascript
运行
复制
>msbuild helloworld.csproj -t:Build.

查看msbuild文档,了解用法、项目文件要求以及构建项目而不是构建解决方案的好处。

MS MSBuild Documentation

正如mark-smith上面提到的那样,以这种方式构建有很多好处。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13915636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档