我正试图直接从Powershell更新/添加一些RC信息。
我已经找到了如何得到它,但我没有找到如何设置一些字段,如SpecialBuild
或PrivateBuild
。
PS C:> (gi .mydll.dll).VersionInfo | fl
OriginalFilename : mydll.dll
FileDescription : mydll.dll
...............................
PrivateBuild : 32572
SpecialBuild : NOT_HOTFIX
FileVersionRaw : 17.3.0.12013
ProductVersionRaw : 17.3.0.12013
PS C:> (gi .mydll.dll).VersionInfo | gm
TypeName : System.Diagnostics.FileVersionInfo
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Comments Property string Comments {get;}
.................................................
PrivateBuild Property string PrivateBuild {get;}
ProductBuildPart Property int ProductBuildPart {get;}
ProductMajorPart Property int ProductMajorPart {get;}
ProductMinorPart Property int ProductMinorPart {get;}
ProductName Property string ProductName {get;}
ProductPrivatePart Property int ProductPrivatePart {get;}
ProductVersion Property string ProductVersion {get;}
SpecialBuild Property string SpecialBuild {get;}
FileVersionRaw ScriptProperty System.Object FileVersionRaw {get=New-Object System.Version -ArgumentList @(...
ProductVersionRaw ScriptProperty System.Object ProductVersionRaw {get=New-Object System.Version -ArgumentList @(...
如你所见,属性只能在这里得到。
那么你知道我如何更新这些字段吗?
提前感谢您的帮助;)
可以使用Resource Hacker或verpatch等工具更新字段,但不建议这样做。如果dll是你的,在编译之前更新它会容易得多。
给编译后的dll打补丁的一个缺点是,如果它被签名了,那么签名将不再有效。此外,有时打补丁可能会导致dll损坏。
有什么特别的原因让你想在编译后修改它吗?