C# 怎样获取版本号
时间: 2024-09-28 20:00:27 浏览: 21
在 C# 中,你可以通过多种方式获取当前运行程序的版本信息。这里有两个常见的方法:
1. **AssemblyInfo.cs** 文件中的 AssemblyVersion 属性:
在项目中的 `Properties` 文件夹下的 `AssemblyInfo.cs` 文件中,通常会有一个 `AssemblyVersion` 定义,例如 `assemblyVersion = "1.0.0.0"`。你可以直接从这个属性读取版本号。
```csharp
using System.Reflection;
// 获取当前项目的版本信息
var assembly = Assembly.GetExecutingAssembly();
string version = assembly.GetName().Version.ToString(); // 输出如 "1.0.0.0"
```
2. **NuGet 版本** (对于依赖包):
如果你的程序依赖于 NuGet 包,你可以使用 `PackageReference` 的 `Version` 属性,但它需要在代码中引用 `NuGet.Protocol` 库才能访问。
```csharp
using NuGet.Protocol;
using NuGet.Packaging;
PackageMetadata packageMetadata;
using (var context = new PackageContext())
{
packageMetadata = await context.GetMetadataAsync("YourPackageName");
string nugetVersion = packageMetadata.Version.ToNormalizedString(); // 输出如 "1.2.3.4"
}
```
注意,`AssemblyName.Name` 和 `AssemblyName.Version` 分别返回程序集的名称和版本字符串。如果你是指特定文件的版本,那可能会涉及到不同路径下二进制文件的信息获取。