0

背景:我们有一个包含多个项目的单个 .NET 解决方案,其中一些是针对 .NET Framework 编译的,一些针对 .NET Core (UWP) 编译的。我们使用 Visual Studio Team Services(以前是 Visual Studio Online)来持续构建我们的解决方案。

挑战:UWP 项目需要不同的 MSBuild 参数和平台设置。我们按照下面的屏幕截图创建了一个构建定义:首先使用 .NET 参数构建解决方案。然后,对于每个 UWP 项目,我们都有一个 MSBuild 步骤。

问题:每次我们添加、删除或重命名 UWP 项目时,我们都必须更新构建定义。我们希望以某种方式自动选择 UWP 项目,理想情况下使用 Visual Studio 构建步骤而不使用自定义脚本。有任何想法吗?

在此处输入图像描述

可行的替代方案:最初,我们将解决方案分成两个(每个平台一个解决方案),并针对每个解决方案运行两个不同的 Visual Studio 构建事件。不过,我们更喜欢在一个单一的解决方案中工作。

4

2 回答 2

2

如果没有自定义脚本,就没有任何简单的方法可以实现这一点。

您可以尝试创建一个MSBuild 项目文件并使用单独的参数在其中添加您的项目,如下所示:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Build">
    <MSBuild Projects="Project1.csproj" Properties=Arguments1/>
    <MSBuild Projects="Project2.csproj" Properties=Arguments2/>
</Target>
</Project>

然后你只需要在你的构建定义中构建项目文件。但这将要求您在添加/更改项目时更新 MSProject 文件。

于 2016-02-25T09:18:11.447 回答
0

Msbuild 步骤支持通配符,因此**/*.uwp.csproj如果您的项目遵循此命名模式,您可以将其设置为构建。

于 2016-12-29T11:58:28.810 回答