在我工作的地方,我们有一个由我们公司使用的程序。然后,我们使用不同的数据和不同的背景,标题文本等相同的程序的另一个版本。这一切都很好,但由于两者在技术上是相同的应用程序,因此应用程序图标对于两者都是相同的。我们希望每个版本都有单独的图标。
应用程序图标在项目文件中设置:<ApplicationIcon>MyIcon.ico</ApplicationIcon>
有没有办法根据构建配置设置不同的图标?我知道Condition
属性对<ApplicationIcon>
代码无效。
答案 0 :(得分:2)
我知道Condition属性对于 标签
不,你没有。注意父&lt; PropertyGroup /&gt;标签?这表明ApplicationIcon标记是MsBuild属性,因此在这种情况下Condition属性有效。
<PropertyGroup>
<ApplicationIcon Condition=" '$(Platform)' == 'x86' ">x86.ico</ApplicationIcon>
<ApplicationIcon Condition=" '$(Platform)' == 'x64' ">x64.ico</ApplicationIcon>
</PropertyGroup>
哎呀,如果你的文件名解析为像上面那样的MsBuild属性值,你可以像这样推断文件名:
<PropertyGroup>
<ApplicationIcon>$(Platform).ico</ApplicationIcon>
</PropertyGroup>
编辑:假装上述用途并正确评估$(配置)属性值而不是$(平台)
答案 1 :(得分:0)
我尝试右键单击项目,选择“属性”,然后单击“应用程序”选项卡。您可以在此处更改图标文件。但是,“配置和平台”下拉列表已禁用。这证实了如果可以为不同的版本提供不同的图标文件,那么这将不是一种简单的方法。
如果您使用任何脚本来自定义构建,您可以“预处理”*.csproj
文件,根据所需的构建设置ApplicationIcon
,然后构建项目。