【问题标题】:want different icons with different builds in C#想要在 C# 中具有不同构建的不同图标
【发布时间】:2008-10-21 21:20:00
【问题描述】:

我们有一个产品,但我们正在进行一些品牌重塑,因此我们需要能够构建和维护两个版本。我使用资源文件和一些#if 东西来解决字符串、图像和其他任何问题,但是程序图标给我带来了麻烦。我无法从 msdn 或谷歌搜索中弄清楚。谢谢!

【问题讨论】:

    标签: c# icons resources


    【解决方案1】:

    您指的是应用程序图标吗?您可以手动编辑您的项目文件并输入类似于以下的代码:

    <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>
    

    【讨论】:

      【解决方案2】:

      创建以您的配置命名的图标文件。 (例如 DebugOld.app.ico DebugBranded.app.ico、ReleaseBranded.app.ico)

      创建预构建步骤:

      copy "$(ProjectDir)$(ConfigurationName).app.ico" "$(ProjectDir)app.ico"
      

      【讨论】:

        【解决方案3】:

        在普通代码中设置图标,您应该能够使用与其他地方相同的技术。您将需要资源文件中的两个图标(至少我怀疑是这样),但它应该可以工作。

        或者,设置预构建步骤以将适当的图标复制到通用文件名中 - 例如将 debug.ico 或 release.ico 复制到 app.ico。有点hacky,但我认为它会起作用。这样一来,您最终只会在完成的二进制文件中得到一个图标。

        还有另一个选择:查看构建文件并查看图标是如何内置的,然后对其进行条件化。 Marc Gravell 这样做是为了在 MiscUtil 中引用 - 该项目可以针对 .NET 2.0 或 3.5 构建,具体取决于配置。我怀疑资源可以以非常相似的方式进行条件化。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-21
          • 1970-01-01
          相关资源
          最近更新 更多