如何使用MSBuild命令仅还原特定的解决方案文件夹

人气:435 发布:2022-10-16 标签: msbuild visual-studio-2019

问题描述

我在两个解决方案文件夹中有一百多个项目。

如何在CLI中使用msbuild命令构建特定的解决方案文件夹,就像在Visual Studio中一样,右键单击特定的解决方案文件夹并单击构建?

我使用的是Visual Studio 2019 16.8.3

更新:

我发现了Build a solution folder with MSBuild堆栈溢出问题,但正如您在此问题中看到的,任何人都没有为restorebuild或在特定解决方案文件夹中运行的任何其他目标提供内置解决方案。我希望找到一种使用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获取所需内容。

679