发布版本与程序集(等)版本

MrG*_*les 16 .net versioning wpf publish

我在这里阅读了关于Assembly,File和Assembly Informational版本的线程.

我想知道发布版本适合的位置.结果......

string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
Run Code Online (Sandbox Code Playgroud)

......似乎是AssemblyVersion.到目前为止,我一直在使用部署类的发布版本:

ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
Version thisAppsVersion = deployment.CurrentVersion;
Run Code Online (Sandbox Code Playgroud)

...但除非安装了应用程序,否则无法使用此功能.我喜欢它如何自动增加版本.

有没有办法在没有网络部署的情况下获得发布版本?它应该是应用程序版本的"公开面孔"吗?

示例:UI版本(从发布版本扭曲)

提前致谢!

格雷格

Dud*_*udu 22

我认为不同的版本有不同的用途.

1)AssemblyVersion用于CLR加载和绑定程序集.这对开发人员而非最终用户非常有用.

2)FileVersion或AssemblyFileVersion是Windows显示为可执行文件的版本.它与Win32应用程序的版本相同.系统和安装程序使用此版本来确定哪个版本更新.

3)PublishVersion用于对部署包进行版本控制.可以使用不同的发布版本两次发布相同的二进制文件.

4)您向最终用户显示的版本是另一个版本.称之为产品版本或其他.它可以与上述任何一个不同,例如用于商业目的.如果要使用某些.NET内置支持,请参阅 AssemblyInformationalVersionAttribute.

对于简单的情况,您可以使用FileVersion作为产品版本.但发布版对我来说不是一个好主意.

  • 有没有办法让它们自动匹配? (4认同)