VS2015 express下WPF项目的多重和不同构建

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

  • 图标文件

  • 变量值

  • exe名称

  • (也许其他事情,比如语言,但我猜我可以处理变量值)

例如 :

  • 一个将构建 MyProject_Soc1_Val1.exe 将 file.Soc1.ico 作为图标文件和 MyVariable = Val1

  • 另一个使用 file.Soc2.ico 和 MyVariable=Val2 构建 MyProject_Soc2_Val2.exe

  • ...

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

那可能吗 ?如何 ?


斯蒂芬大帝
浏览 176回答 1
1回答

12345678_0001

好的,我查看了 MSbuild,我通过以下方式部分解决了我的问题:首先,我为我希望构建的每个案例创建了一个项目配置。然后...Ico 和 SplacshScreen我关闭了 VS 项目并以这种方式更改了 .csproj 文件:&nbsp; <PropertyGroup>&nbsp; &nbsp; <ApplicationIcon Condition=" '$(Configuration)' == 'Release' ">LogoMini.Soc1.ico</ApplicationIcon>&nbsp; &nbsp; <ApplicationIcon Condition=" '$(Configuration)' == 'Debug' ">LogoMini.Soc1.ico</ApplicationIcon>&nbsp; &nbsp; <ApplicationIcon Condition=" '$(Configuration)' == 'Soc2' ">LogoMini.Soc2.ico</ApplicationIcon>&nbsp; </PropertyGroup>&nbsp; [...]&nbsp; <ItemGroup>&nbsp; &nbsp; <SplashScreen Condition=" '$(Configuration)' == 'Debug' " Include="Images\SplahScreen.Soc1.png" />&nbsp; &nbsp; <SplashScreen Condition=" '$(Configuration)' == 'Release' " Include="Images\SplahScreen.Soc1.png" />&nbsp; &nbsp; <SplashScreen Condition=" '$(Configuration)' == 'Soc2' " Include="Images\SplahScreen.Soc2.png" />&nbsp; </ItemGroup>它有点工作,但是:当我启动 exe 时,图标不一定是好的图标……但我认为这是因为 Windows 将它保留在缓存中。所以应该没问题我对它不太满意,因为现在我得到的信息,例如在 VS>project>properties>Build>Icon 文件中是不正确的。变量我在我的项目 > 属性 > 构建 > 条件编译符号中添加了符号 SOCi(对于每个项目配置 i)。在 C# 代码中:int MyVar;#if SOC1&nbsp; &nbsp; MyVar = 1;#elif SOC2&nbsp; &nbsp; MyVar = 2;#endif我想这很好。对于其余的我终于没有更改 exe 名称,但我想我可以通过在 AssemblyName 上添加条件来更改 .csproj我无法同时编译 2 个配置,但这并不是什么大问题我会稍等片刻,然后将其标记为解决方案,以防有人作为评论或更正要做。
打开App,查看更多内容
随时随地看视频慕课网APP