我试图直接从Powershell更新/添加DLL中的一些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 @(...
正如您所看到的,属性只能在这里获得。
所以你知道如何更新这些字段吗?
先谢谢你的帮助;)
答案 0 :(得分:1)
使用Resource Hacker或verpatch等工具更新字段,但不建议这样做。如果dll是你的,那么在编译之前更新它会容易得多。
修补编译后的dll的一个缺点是,如果签名,签名将不再有效。此外,有时修补可能会导致dll损坏。
编辑后是否有任何特殊原因需要更改?