gpt4 book ai didi

.net - AssemblyFileVersion 属性被忽略

转载 作者:行者123 更新时间:2023-12-01 09:27:12 24 4
gpt4 key购买 nike

我在使 AssemblyVersion 与我正在处理的类库中的 AssemblyFileVersion 属性不同时遇到问题。

所以,我尝试创建一个空的(除了 Class1.cs)类库来查看它是否是某处的设置,但我得到了相同的行为。

似乎只是忽略了 AssemblyVersion 属性。

这是我的 AssemblyInfo.cs 文件中的相关部分 ...

[assembly: AssemblyVersion("0.1")]
[assembly: AssemblyFileVersion("1.1.0.9")]

这是 Windows 资源管理器中的样子 ...

Windows Explorer Screen Grab

有什么地方可以控制这个吗?

编辑:我发现一个文件存在差异,所以它不是 Windows 资源管理器为两个不同的字段显示相同的值,这与从编译器/链接器生成 DLL 的方式有关 ...

enter image description here

最佳答案

这里的关键问题是 Windows 对托管程序中的属性一无所知。它读取非托管 文件版本资源。使用/win32res 编译选项嵌入到 C# 程序集中的那个。如果您不使用该选项,编译器会默认自动生成它,使用您在 AssemblyInfo.cs 中指定的程序集属性值来创建资源。

但非托管文件版本资源没有标准字段来指定 [AssemblyVersion] 之类的内容。只有 [AssemblyFileVersion]。编译器实际发出它,版本资源是可扩展的。但 Windows XP 是最后一个仍然显示这些自定义字段的版本。您可以通过在 Visual Studio 中使用文件 + 打开 + 文件打开程序集来查看非托管资源。

是的,蹩脚且烦人。 MS 的 Windows 组不喜欢迎合托管代码。

关于.net - AssemblyFileVersion 属性被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7886964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com