.net - 发布版本与程序集(等)版本

标签 .net wpf versioning publish

我在这里阅读了关于程序集、文件和程序集信息版本的线程。

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

string thisAppsVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();

...似乎是 AssemblyVersion。到目前为止,我一直在使用带有部署类的发布版本:
ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
Version thisAppsVersion = deployment.CurrentVersion;

...但除非安装了应用程序,否则这是不可用的。我喜欢它如何选择自动增加修订版。

有没有办法在不进行网络部署的情况下获得发布版本?它应该是应用程序版本的“公众面孔”吗?

Example: UI Version (twisted from Publish Version)

提前致谢!

格雷格

最佳答案

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

1) AssemblyVersion 用于 CLR 加载和绑定(bind)程序集。这对开发人员有用,但对最终用户没有用。

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

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

4) 您向最终用户展示的版本是另一个版本。将其称为产品版本或其他名称。它可能与上述任何一种不同,例如商业用途。见 AssemblyInformationalVersionAttribute如果您想使用一些 .NET 内置支持。

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

关于.net - 发布版本与程序集(等)版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2099129/

相关文章:

.net - 当 .net 中的 RAM 耗尽时,是否有强制程序使用页面文件虚拟内存?

c# - 使用 Owin 中间件进行 Active Directory 身份验证的 ASP.Net MVC

.net - 始终在WPF应用程序中使用MVVM,或者替代模式仍然实用/有用吗?

python - 在 centos 6.7 中安装最新的 psutil 版本

java - java中的多个json绑定(bind)

java - 在 mongo 集合上使用时,Spring 数据版本注释不会递增

.NET 开源等高线绘图

.net - 写入 TcpClient 和 NetworkStream

c# - WPF 新手 - 在 XAML 中设置 ItemsSource 似乎不起作用

c# - 动态数据展示(D3)——生成多图