我怎样才能让一个C#.NET CF程序集信息传播版本的浏览器属性窗口?(How can I make

2019-09-23 08:44发布

好像如果你编译一个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。 是所有的希望失去了什么?

Answer 1:

请注意,该属性的AssemblyFileVersion是不是在.NET Compact Framework中可用!

请参见本文章由丹尼尔Mooth的解决方法。



Answer 2:

请问的AssemblyFileVersion属性帮助吗?



Answer 3:

您需要添加其他属性:

[assembly: AssemblyFileVersion("1.0.114.0")]

请注意,您仍然需要AssemblyVerison之一,也是正确识别组件,.NET运行库。



Answer 4:

版本号并通过在属性对话框中的“版本”选项卡,但不通过对汇总传播。 不幸的是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")]


Answer 5:

我不知道这RevisionNumber是正确的领域寻找。

尝试浏览器中,右键 - >版本选项卡,然后看场的AssemblyVersion那里。



Answer 6:

在我的项目中,我们使用文件版本= 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” - >在资源管理器的文件版本使用



Answer 7:

注意:这个答案是一个.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?