VS2015 Express 下的 WPF 项目多个不同的构建

WPF project mutiple and different builds under VS2015 express

我在 VS2015 express 下有一个 WPF 项目(最终我可以切换到 VS2017),我希望有几个不同的构建:

例如:

理想情况下,我希望所有的都可以一键构建

这可能吗?以及如何?

感谢

好的,我查看了 MSbuild,并通过这些方式部分解决了我的问题:

首先,我为我希望构建的每个案例创建了一个项目配置。 那么...

Ico 和 SplacshScreen

我关闭了 VS 项目并以这种方式更改了 .csproj 文件:

  <PropertyGroup>
    <ApplicationIcon Condition=" '$(Configuration)' == 'Release' ">LogoMini.Soc1.ico</ApplicationIcon>
    <ApplicationIcon Condition=" '$(Configuration)' == 'Debug' ">LogoMini.Soc1.ico</ApplicationIcon>
    <ApplicationIcon Condition=" '$(Configuration)' == 'Soc2' ">LogoMini.Soc2.ico</ApplicationIcon>
  </PropertyGroup>
  [...]
  <ItemGroup>
    <SplashScreen Condition=" '$(Configuration)' == 'Debug' " Include="Images\SplahScreen.Soc1.png" />
    <SplashScreen Condition=" '$(Configuration)' == 'Release' " Include="Images\SplahScreen.Soc1.png" />
    <SplashScreen Condition=" '$(Configuration)' == 'Soc2' " Include="Images\SplahScreen.Soc2.png" />
  </ItemGroup>

有点用,但是:

  • 当我启动 exe 时,图标不一定是正确的...但我认为这是因为 Windows 将其保存在缓存中。所以应该可以
  • 我不太适应,因为现在我得到的信息,例如 VS>project>properties>Build>Icon file 中的信息不正确。

变量

我在“我的项目”>“属性”>“构建”>“条件编译符号”中添加了符号 SOCi(对于每个项目配置 i)。

在 C# 代码中:

int MyVar;
#if SOC1
    MyVar = 1;
#elif SOC2
    MyVar = 2;
#endif

我想这很好。

剩下的

  • 我终于没有改exe的名字,不过我想我可以改 .csproj 通过在 AssemblyName
  • 上添加条件
  • 我无法同时编译 2 个配置,但这不是什么大问题

我会稍等片刻,然后再将此标记为解决方案,以防有人评论或更正。