背景:我们有一个包含多个项目的.NET解决方案,其中一些是针对.NET Framework编译的,一些是针对.NET Core(UWP)编译的。我们使用Visual Studio Team Services(Visual Studio Online)来持续构建我们的解决方案。
挑战:UWP项目需要不同的MSBuild参数和平台设置。我们根据下面的屏幕截图创建了一个构建定义:首先使用.NET参数构建解决方案。然后,对于每个UWP项目,我们都有一个MSBuild步骤。
问题:每次添加,删除或重命名UWP项目时,我们都必须更新构建定义。我们想以某种方式自动选择UWP项目,理想情况下使用Visual Studio Build Step而不使用自定义脚本。有什么想法吗?
工作替代:最初,我们将解决方案分为两个(每个平台一个解决方案),并针对每个解决方案运行两个不同的Visual Studio Build事件。我们更喜欢在单一解决方案中工作。
答案 0 :(得分:2)
没有自定义脚本,没有任何简单的方法可以实现这一点。
您可以尝试创建MSBuild project file并使用以下单独的参数添加项目:
<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文件。
答案 1 :(得分:0)
Msbuild步骤支持通配符,因此如果您的项目遵循此命名模式,则可以将其设置为构建int main(void){
HashMap::HashMap hm;
hm.put("hello", MapElement("hello", "world"));
hm.put("thats", MapElement("thats", "a test"));
hm.put("hello", MapElement("hello", "test"));
return 0;
}
。