好像如果你编译一个Visual Studio解决方案,并有一个版本#在你的AssemblyInfo.cs文件,应该传播到说,Windows资源管理器属性对话框。 这样一来,有人可能只需右键单击* .exe文件,然后单击“属性”以查看版本号。 有没有在Visual Studio中特殊的设置来实现这一目标?
例如图片http://content.screencast.com/users/Pincas/folders/Jing/media/40442efd-6d74-4d8a-8e77-c1e725e6c150/2008-09-24_0849.png
编辑:我应该提到这是,具体而言,.NET Compact Framework 2.0 中 ,不支持的AssemblyFileVersion。 是所有的希望失去了什么?
请注意,该属性的AssemblyFileVersion是不是在.NET Compact Framework中可用!
请参见本文章由丹尼尔Mooth的解决方法。
请问的AssemblyFileVersion属性帮助吗?
您需要添加其他属性:
[assembly: AssemblyFileVersion("1.0.114.0")]
请注意,您仍然需要AssemblyVerison之一,也是正确识别组件,.NET运行库。
版本号并通过在属性对话框中的“版本”选项卡,但不通过对汇总传播。 不幸的是VS不会因为信息是元数据附加到文件本身自动填充文件的摘要信息。 但是,您可以访问和通过微软使用免费的DSO OleDocument属性阅读器操纵自己的摘要信息。
:您可以获取库http://www.microsoft.com/downloads/details.aspx?FamilyId=9BA6FAC6-520B-4A0A-878A-53EC8300C4C2&displaylang=en
:其使用的更多信息,可以发现http://www.developerfusion.co.uk/show/5093/
编辑 :由于铅和奈杰尔·霍金斯上面提到的,你可以得到的财产使用的AssemblyFileVersion属性喜欢传播完成:
[assembly: AssemblyFileVersion("1.0.114.0")]
我不知道这RevisionNumber是正确的领域寻找。
尝试浏览器中,右键 - >版本选项卡,然后看场的AssemblyVersion那里。
在我的项目中,我们使用文件版本= 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” - >在资源管理器的使用的ProductVersion
的AssemblyFileVersion =“YYYY.MM.DD.XXX” - >在资源管理器的文件版本使用
注意:这个答案是一个.NET CF 3.5应用程序中访问的AssemblyInfo性能。 它不会传播到可执行文件的内部Windows资源管理器的“属性”(但可以用来写入文件,控制台,或在应用程序中显示)
我知道这是一个很古老的问题,但这里是一个解决方案,我发现使用反射和LINQ获得“AssemblyInformationalVersion”(产品在新的Visual Studio项目版本)。
首先,我已将此添加到AssemblyInfo.cs中(用您想使用的任何字符串):
[assembly: AssemblyInformationalVersion("1.0.0.0 Alpha")]
然后,你可以用这个方法来拉出属性(我把它放在一个静态类里面AssemblyInfo.cs文件)。 GET方法是一个阵列的所有装配属性,则选择第一结果匹配的属性名称(并将它转换为适当的类型)。 然后InformationalVersion字符串可以访问。
//using System.Reflection;
//using System.Linq;
public static string AssemblyInformationalVersion
{
get
{
AssemblyInformationalVersionAttribute informationalVersion = (AssemblyInformationalVersionAttribute)
(AssemblyInformationalVersionAttribute.GetCustomAttributes(Assembly.GetExecutingAssembly())).Where(
at => at.GetType().Name == "AssemblyInformationalVersionAttribute").First();
return informationalVersion.InformationalVersion;
}
}
为了让我用正常的“的AssemblyVersion”属性:
//using System.Reflection;
public static string AssemblyVersion
{
get
{
return Assembly.GetExecutingAssembly().GetName().Version.ToString();
}
}
文章来源: How can I make the AssemblyInfo version of a C# .NET CF program propagate to the Explorer Properties window?