【问题标题】:Change executable properties (product name) with C#使用 C# 更改可执行属性(产品名称)
【发布时间】:2010-02-17 12:56:46
【问题描述】:

我有一个 C# 项目,我需要在编译时更改其产品名称。我使用 prebuild 事件在 AssemblyInfo.cs 中对其进行了更改,但有几次 Visual Studio 没有获得此更改,而是使用以前的产品名称对其进行编译。所以我更喜欢在从另一个可执行文件(全部在 C# 中)编译后更改它。

【问题讨论】:

  • 到底是什么问题? 你应该怎么做?
  • 在这种情况下,它将是“如何?”

标签: c# properties metadata executable


【解决方案1】:

编译程序集后,您不能(或至少不应该)更改该信息。它被编译到程序集中的一个资源文件中,该文件不是为了更改而设计的。

Visual Studio 应该始终提取这些信息,因为它是代码的一部分。如果不是,这可能是一个更大问题的迹象,因为 Visual Studio 没有编译您希望编译的代码,并且可能还包含其他代码文件的恶意版本。尝试做一个完整的重建解决方案,并确保产品名称是正确的;如果没有,请将代码移到另一台机器上并在那里编译,以确保它不会出于某种原因从您机器上的其他地方拉入文件。

【讨论】:

  • 它在编译之前或之后更改相同的值。只需 Visual Studio 提示从 cs 文件重新加载数据,因为我在编译时(预编译事件)执行它并不总是得到更改...最后我只想知道如何通过 c# 更改 exe。 .不走硬路....
  • 迈克在他的帖子中提到的主题(非常正确)是,如果您签署程序集(放置在 GAC 等中所需),您通过更改任何位来“篡改”已签署的程序集在编译的二进制文件中。这实际上可能是一条比预先做出改变更困难的路线,按照你的意愿工作。
  • 在这种情况下我没有签名所以没有问题
猜你喜欢
  • 1970-01-01
  • 2020-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-09
  • 2017-09-13
  • 1970-01-01
  • 2021-03-06
相关资源
最近更新 更多