问题描述
我在两个解决方案文件夹中有一百多个项目。
如何在CLI中使用msbuild
命令构建特定的解决方案文件夹,就像在Visual Studio中一样,右键单击特定的解决方案文件夹并单击构建?
我使用的是Visual Studio 2019 16.8.3
更新:
我发现了Build a solution folder with MSBuild堆栈溢出问题,但正如您在此问题中看到的,任何人都没有为restore
或build
或在特定解决方案文件夹中运行的任何其他目标提供内置解决方案。我希望找到一种使用MSBuild以内置方式在特定解决方案文件夹上运行目标的方法。
推荐答案
只需打开开发人员命令提示符,然后键入以下命令即可构建特定的.sln文件:
msbuild xxxxxx.sln -t:build -p:Configuration=Debug
解决方案资源管理器中的解决方案文件夹是Visual Studio IDE的虚拟文件夹。如果要使用MSBuild命令行,则必须创建这样一个真实的文件夹。否则,就没有这种办法了。
1)打开解决方案资源管理器→切换视图,创建一个实际文件夹(在我这边,该文件夹称为test
),然后将相关项目拖到该文件夹中。
2)在解决方案文件夹上创建名为test.proj
的文件。然后在该文件中添加以下内容:
<Project>
<ItemGroup>
<File Include="test***.csproj"/>
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(File)" Targets="Build"/>
</Target>
</Project>
3)使用命令行msbuild test.proj
获取所需内容。