gpt4 book ai didi

c# - 在 C# 中获取真实产品版本

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:48 25 4
gpt4 key购买 nike

这可能看起来相当简单,但是,获取版本的典型方法只获取需要手动设置的版本信息,而不是发布的构建版本。

这导致(如果我从不进入属性并更改项目设置深处的值),版本总是返回 1.0.0.0。事实上,这也是当我从任何发布文件夹中右键单击任何已编译的 .NET exe 时始终显示的版本。例如:

/publish/1.0.0.2/foo.exe

属性显示 1.0.0.0,即使它是构建 1.0.0.2

我愿意接受将执行以下任一操作的解决方案:

  1. 自动将实际文件版本设置为发布时的当前版本。
  2. 使用c#获取实际版本(不是1.0.0.0)。

不是在寻找黑客来添加我自己的版本控制系统。我想使用内置的机制(并且在 .NET 的前身中完美运行)。

为了进一步说明,似乎自动版本控制在 .NET 中是垃圾,它没有使用发布版本,而是使用内部版本

属性 > 应用程序 > [程序集信息] enter image description here

提前致谢:)

最佳答案

我认为这可能是您的解决方案:

using System.Reflection;

....

string path = Assembly.GetExecutingAssembly().Location;
FileVersionInfo versioninfo = FileVersionInfo.GetVersionInfo(path);

return fvi.FileVersion; // type: string

这段代码返回 list 文件中设置的程序集版本。它还适用于检索 native 应用程序/库的程序集版本


编辑:作为adv12之前写过,这将是我更新的解决方案:

using System.Deployment;

...

if (ApplicationDeployment.IsNetworkDeployed)
return ApplicationDeployment.CurrentDeployment.CurrentVersion.ToString(4));

关于c# - 在 C# 中获取真实产品版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30627939/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com