【问题标题】:How can I change the executable filename and icon for different build configurations?如何更改不同构建配置的可执行文件名和图标?
【发布时间】:2021-03-25 20:46:13
【问题描述】:

我想为我的 WPF 应用程序的不同版本使用不同的图标和可执行文件名。原因是我有两个不同版本的应用程序,它们略有不同(只是禁用了一些项目,颜色更改等)所以我使用了两种不同的构建配置和 App.config 转换来做到这一点,例如在我的转换中像这样的几个转换

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform"> 
  <appSettings xdt:Transform="Replace"> 
    <add key="appTitle" value="Application Name 2"/> 
    <add key="appIcon" value="Icons\appplicationIcon2.ico"/> 
  </appSettings> 
</configuration> 

然后在我的应用程序中读取该属性的配置设置,appTitle 或 appIcon,并基于此对应用程序进行一些修饰或其他更改。

但是我是否也可以使用它来对应用程序图标本身(嵌入在 EXE 中的图标或 EXE 文件的名称)应用更改?

【问题讨论】:

  • this answer 有帮助吗?它详细介绍了根据构建配置设置应用程序图标。
  • @DM 是的,这确实有帮助。谢谢。

标签: c# .net wpf


【解决方案1】:

除了这里链接的答案https://stackoverflow.com/a/32977405/1462656 要在编译时更改应用程序可执行文件名称,您还必须将以下内容添加到属性组中

<AssemblyName>Name For Executable</AssemblyName>

所以属性组应该有这两个添加

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Your Configuration Name|x64'">
    <ApplicationIcon>Icons\YourIconFilename.ico</ApplicationIcon>
    <AssemblyName>Your Application Name</AssemblyName>
    ...
  </PropertyGroup>

编辑:我注意到这对产品名称或文件描述没有任何影响,正如您在文件资源管理器中右键单击并查看可执行文件的属性详细信息时看到的那样。要对产品和文件描述也有不同的值,请遵循

  • 在项目配置的 Build 属性中添加条件编译符号
  • 在 AssemblyInfo.cs 中执行类似的操作
    #if APPONE
        [assembly: AssemblyTitle("App 1")]
    #else
        [assembly: AssemblyTitle("App 2")]
    #endif

【讨论】:

    猜你喜欢
    • 2012-03-24
    • 2018-08-18
    • 1970-01-01
    • 2017-03-15
    • 2015-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多