|
3
|
| Pandincus · 技术社区 · 18 年前 |
|
|
2
2
注意:此答案用于访问.NET CF 3.5应用程序中的AssemblyInfo属性。它不会传播到Windows资源管理器中可执行文件的“属性”(但可用于写入文件、控制台或在应用程序中显示) 我知道这是一个很老的问题,但这里有一个解决方案,我发现使用反射和Linq来获取“AssemblyInformationalVersion”(新的Visual Studio项目中的产品版本)。 首先,我将此添加到AssemblyInfo.cs中(将字符串替换为您要使用的任何内容):
然后,可以使用此方法提取属性(我将其放在AssemblyInfo.cs文件中的静态类中)。get方法是一个包含所有程序集属性的数组,然后选择与属性名匹配的第一个结果(并将其强制转换为适当的类型)。然后可以访问InformationalVersion字符串。
要获取我使用的常规“AssemblyVersion”属性:
|
|
|
3
1
是不是 AssemblyFileVersion attribute 帮忙? |
|
|
4
1
您需要添加另一个属性:
请注意,您仍然需要AssemblyVerison来正确地将程序集标识给.NET运行时。 |
|
|
5
1
版本号会传播到“属性”对话框中的“版本”选项卡,但不会传播到摘要。不幸的是,VS不会自动填充文件的摘要信息,因为该信息是附加到文件本身的元数据。但是,您可以使用Microsoft提供的免费DSO OleDocument Properties Reader自行访问和操作摘要信息。 您可以从以下站点获取库: http://www.microsoft.com/downloads/details.aspx?FamilyId=9BA6FAC6-520B-4A0A-878A-53EC8300C4C2&displaylang=en 有关其使用的更多信息,请访问: http://www.developerfusion.co.uk/show/5093/ 编辑 :如上pb和Nigel Hawkins所述 可以 使用AssemblyFileVersion属性获取要提出的属性,如:
|
|
|
6
0
我不确定修正号是要查找的正确字段。 尝试资源管理器,右键单击->版本选项卡,然后查看那里的AssemblyVersion字段。 |
|
|
7
0
在我的项目中,我们使用FileVersion=YYYY.MM.DD.BUILD(例如,2008.9.24.1),但是ProductVersion应该是major.minor.revision.BUILD。我们使用AssemblyInformationalVersion来解决这个问题。 AssemblyVersion=“MAJ.MIN.REV.1”->由.NET使用 AssemblyInformationalVersion=“MAJ.MIN.REV.XXX”->用于资源管理器的产品版本 AssemblyFileVersion=“YYYY.MM.DD.XXX”->在资源管理器的文件版本中使用 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |