为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
斯蒂芬大帝 2021-11-07 20:30:45
我在 VS2015 express 下有一个 WPF 项目(最终我可以切换到 VS2017),我希望有几个不同的构建:图标文件变量值exe名称(也许其他事情,比如语言,但我猜我可以处理变量值)例如 :一个将构建 MyProject_Soc1_Val1.exe 将 file.Soc1.ico 作为图标文件和 MyVariable = Val1另一个使用 file.Soc2.ico 和 MyVariable=Val2 构建 MyProject_Soc2_Val2.exe...理想情况下,我希望所有内容都可以一键构建那可能吗 ?如何 ?
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

好的,我查看了 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 文件中是不正确的。

变量

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


在 C# 代码中:


int MyVar;

#if SOC1

    MyVar = 1;

#elif SOC2

    MyVar = 2;

#endif

我想这很好。


对于其余的

我终于没有更改 exe 名称,但我想我可以通过在 AssemblyName 上添加条件来更改 .csproj

我无法同时编译 2 个配置,但这并不是什么大问题

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


查看完整回答
反对 回复 2021-11-07
  • 1 回答
  • 0 关注
  • 174 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信