Если у меня есть проект, который строится на основе разных целевых фреймворков, я могу указать TargetFrameworks
вместо TargetFramework
, и MSBuild создаст все фреймворки в одной сборке без изменения конфигурации.
У меня есть проект, который будет скомпилирован с различными платформами (например, WPF и Windows Forms) с использованием некоторого #if
. Я хотел бы определить массив значений, таких как <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?