在设置创建过程中,我计划执行以下操作(在 C# Script 内):
- 读取一个 DLL 的
AssemblyVersion
和AssemblyFileVersion
属性值。 - 迭代项目中的所有 DLL 和可执行文件,并将这些版本应用于它们的
AssemblyVersion
和AssemblyFileVersion
属性值。
现在的问题是:第2步怎么做?
我成功地完成了第 1 步,但对于第 2 步,我看不到真正的起点。我可能要做的是使用一些 native P/Invoke 方法,因为属性直接修改 DLL/可执行文件的版本信息资源信息。
有什么提示吗?
最佳答案
你为什么不在构建过程中读取一个DLL的AssemblyVersion
和AssemblyFileVersion
,然后将其保存回其他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/