1 回答
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 个配置,但这并不是什么大问题
我会稍等片刻,然后将其标记为解决方案,以防有人作为评论或更正要做。
- 1 回答
- 0 关注
- 174 浏览
添加回答
举报