如果我有一个针对不同目标框架构建的项目,则可以指定TargetFrameworks
而不是TargetFramework
,MSBuild将在不更改配置的情况下将所有框架构建为一个构建。
我有一个项目,将使用一些#if
针对不同的框架(例如WPF和Windows Forms)进行编译。我想定义一个值数组,例如<usedFramework>Framework1;...;FrameworkN</usedFramework>
,所以一个构建将同时构建所有变体。
我尝试将TargetFrameworks
与新名称一起使用,然后在以后用正确的名称替换框架。但是VisualStudio不喜欢它。
<PropertyGroup>
<TargetFrameworks>Framework1;Framework2</TargetFrameworks>
<AssemblyName>PDFsharp</AssemblyName>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='Framework1'">
<TargetFramework>net20</TargetFramework>
<useedFramework>Framework1</usedFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)'=='Framework2">
<TargetFramework>net20</TargetFramework>
<useedFramework>Framework2</usedFramework>
</PropertyGroup>
然后再使用VisualStudio中的配置/平台下拉菜单吗?
答案 0 :(得分:0)
目前,这不可能。
当前支持的唯一“多目标”轴是多个目标框架。重要的是,TargetFrameworks
中的所有值都可以解析为已知的NuGet目标框架别名(TFM),以使某些工具正常工作。