c# - 以编程方式更改 AssemblyVersion 和 AssemblyFileVersion 属性

标签 c# .net attributes versioninfo

在设置创建过程中,我计划执行以下操作(在 C# Script 内):

  1. 读取一个 DLL 的 AssemblyVersionAssemblyFileVersion 属性值。
  2. 迭代项目中的所有 DLL 和可执行文件,并将这些版本应用于它们的 AssemblyVersionAssemblyFileVersion 属性值。

现在的问题是:第2步怎么做?

我成功地完成了第 1 步,但对于第 2 步,我看不到真正的起点。我可能要做的是使用一些 native P/Invoke 方法,因为属性直接修改 DLL/可执行文件的版本信息资源信息。

有什么提示吗?

最佳答案

你为什么不在构建过程中读取一个DLL的AssemblyVersionAssemblyFileVersion,然后将其保存回其他csproject的AssemblyInfo.cs,才编译呢?

事实上,我不知道是否可以直接修改DLL文件,而不是借助于幻想。

或者,确保所有 DLL 共享一个通用的 AssemblyInfo.cs。当您在 csproject 中添加新项目时,您可以通过将 AssemblyInfo.cs 添加为“Add As Link”来实现。这样当您进行编译时,所有的 DLL 将共享相同的 AssemblyInfo.cs,从而输出相同的 AssemblyVersion

关于c# - 以编程方式更改 AssemblyVersion 和 AssemblyFileVersion 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1550249/

相关文章:

c# - 谷歌认证过程

c# - 如何从 NuGet 包获取的 RCL 导入 Razor 页面?

c# - 在运行时创建委托(delegate)类型

c# - Activator.CreateInstance 性能替代方案

C# 调试属性

html - 脚本和样式元素的 HTML "nonce"属性的用途是什么?

c# - ASP.NET MVC 能否防止 Open Redirect 安全问题

c# - 通过 .NET 代码发送电子邮件

c# - 亚马逊 MWS 获取产品价格 .NET 库 C#

php - 在 html 属性中使用 php 变量的最佳方法是什么?