visual-studio - 无法为 MSBuild 指定解决方案项目
问题描述
我有以下解决方案:
MySolution\
MySolution.sln
MyCSProject\
MyCSProject.csproj
MyCPPProject\
VC11\
projfile.vcxproj
VC8
projfile.vcproj
MyInstallationProject
MyInstallationPackage.vdproj
在 Visual Studio 中,我已MyCSProject
设置为主项目。但是对于自动构建,我需要构建MyInstallationProject
依赖项。MyInstallationProject
取决于MyCSProject
和MyCSProject
取决于MyCPPProject
。如果我从 Visual Studio 构建,它可以工作。
但是对于 MSBuild,我无法编写正确的命令。以下都不起作用:
"...\MSBuild.exe" MySolution.sln /t:MySolution\MyInstallationProject /p:Configuration="Release" /p:Platform="x64"
"...\MSBuild.exe" MySolution.sln /t:MySolution\MyInstallationProject.vdproj /p:Configuration="Release" /p:Platform="x64"
"...\MSBuild.exe" MySolution.sln /t:MyInstallationProject /p:Configuration="Release" /p:Platform="x64"
"...\MSBuild.exe" MyInstallationProject\MyInstallationProject.vdproj /p:Configuration="Release" /p:Platform="x64"
等等,各种报错,主要是“项目中不存在目标***”
如何知道与项目相关的正确命令和/或目标名称?
解决方案
事实上,第三个和第四个 msbuild 命令行之一应该在您身边工作。此外,还有一个关于它的文件。
事实是 MSBuild 无法构建vdproj
文件。它来自 VS 安装程序项目扩展,构建工具是独立于扩展而不是 MSBuild 的工具。您可以轻松打开该vdproj
文件,并发现它不是 xml 样式。
MSBuild 只能构建 xml sytle proj 文件。
要对其进行测试,您可以为MyCSProject
项目尝试相同的 msbuild 命令行以获得差异。
所以正确的方法是使用 VS IDE 构建或使用devenv 构建命令行,这意味着你必须在本地拥有 VS IDE。
尝试以下命令行:
1)打开VS的开发人员命令提示符:
2)运行:
cd xxx\xxx\MySolution
devenv MyInstallationProject\MyInstallationProject.vdproj /build
推荐阅读
- c# - How do I diagnose this unobserved exception?
- jenkins - 在共享库 Jenkins 管道中使用 CURL 命令上传本地文件
- jenkins - How to read YAML dict in Jenkins (Groovy)
- postgresql - How to get proper Json response from a postgresql in spring boot?
- bootstrap-4 - Bootstrap: unequal columns on stacked
- android - A conext menu is shown in a small area instead of full screen on Android Pie
- javascript - Meteor方法404错误但登录控制台
- python - Transfering cookies from a Request session to a selenium session
- vue.js - why my code not working on ie11 after i use babel-polyfill?
- python - OpenCV image stitching never finishes