我们有一个产品,但是我们正在做一些品牌重塑,因此我们需要能够构建和维护两个版本。我使用资源文件和一些#if东西来解决字符串,图像和其他问题,但是程序图标给我带来了麻烦。我无法从msdn或google搜索中找出答案。谢谢!
您指的是应用程序图标吗?您可以手动编辑项目文件并输入类似于以下内容的代码:
<PropertyGroup>
<ApplicationIcon Condition=" '$(Configuration)' == 'Version1' ">Icon1.ico</ApplicationIcon>
<ApplicationIcon Condition=" '$(Configuration)' == 'Version2' ">Icon2.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Version1' ">
<Content Include="Icon1.ico" />
</ItemGroup>
<ItemGroup Condition=" '$(Configuration)' == 'Version2' ">
<Content Include="Icon2.ico" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
在普通代码中设置图标,您应该能够使用与其他地方相同的技术。您将需要资源文件中的两个图标(至少我怀疑如此),但它应该可以工作。
或者,设置预构建步骤以将适当的图标复制到通用文件名中 - 例如,将 debug.ico 或 release.ico 复制到 app.ico 中。有点老套,但我认为它会起作用。这样,您最终在完成的二进制文件中只会得到一个图标。
还有另一种选择:查看构建文件并查看图标是如何内置的,然后对其进行条件化。Marc Gravell 在MiscUtil中这样做是为了参考- 该项目可以针对 .NET 2.0 或 3.5 构建,具体取决于配置。我怀疑资源可以以非常类似的方式进行限制。
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |