忐忑的香菜 · QT控件QComboBox的用法以及示例代码 ...· 10 月前 · |
坐怀不乱的金针菇 · wpf的listbox嵌套listbox内层 ...· 1 年前 · |
聪明的柚子 · 内网服务器设置代理访问外网_内网配置代理访问 ...· 1 年前 · |
光明磊落的馒头 · mysql order by 原理和优化 - 知乎· 1 年前 · |
逆袭的汉堡包 · 使用StackExchange.Redis组 ...· 1 年前 · |
我需要使用msbuild构建解决方案的特定项目的命令行,就像我们使用devenv.com.In devenv.com所做的那样,我们可以使用以下命令行指定解决方案的项目
devenv.com /Build Release|x86 test.sln /project "testproject"
使用上面的命令行,我可以使用devenv.com.What在test.sln中构建测试项目,这是用于相同解决方案的msbuild的命令行。
谢谢
MSBuild实际上是通过使用项目而不是解决方案来工作的。该解决方案仅用于在内部将其解析为MSBuild中的临时项目文件。通过执行以下命令,您应该能够直接通过MSBuild构建感兴趣的项目。
"msbuild testproject /p:Configuration=Release /p:Platform=x86"
我知道有一个主要问题,您可能会直接使用项目而不是解决方案:如果您使用解决方案来表达项目之间的依赖关系,而不是添加对项目的引用并让构建系统自动解决依赖关系。
如果您使用sln文件强制执行构建顺序,我建议将这些依赖项直接处理到项目文件中,并从sln中删除它们。这将允许您直接从MSBuild调用任何项目文件,并且项目都将独立构建,而不需要任何额外的工作。您真的应该将sln文件视为一组项目,以便在Visual Studio中更轻松地工作,而不是作为构建输入。
作为信息发布给未来的搜索者
将以下代码添加到构建脚本中并运行一次。这将生成msbuild实际使用的确切目标和其他信息。
例如:如果项目名称或文件夹中包含
.
,则msbuild将使用
_
代替
.
。
set MSBuildEmitSolution=1
获得信息后,使用所需的详细信息更新构建脚本。
为了添加额外的信息,在项目文件夹中执行msbuild将默认构建项目文件,因为它是其中唯一的文件。
>msbuild
以这种方式使用msbuild有很多不同的变体。您可以直接指定项目文件。
>msbuild helloworld.csproj -t:Build.
查看msbuild文档,了解用法、项目文件要求以及构建项目而不是构建解决方案的好处。
正如mark-smith上面提到的那样,以这种方式构建有很多好处。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2023 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号: 粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
扫码关注腾讯云开发者
领取腾讯云代金券