在FileVersionInfo C#中,LegalCopyRight始终为空?

Moh*_*yan 3 c# fileversioninfo

我在窗口(创建拉链工具,如一个SFX(自解压可执行文件)的文件7z,WinRar......)并具有以下细节:

文件细节

我想CopyRight在C#中获取文本,所以我编写了以下代码:

var fileVersionInfo = FileVersionInfo.GetVersionInfo(filePath);
Console.Write(fileVersionInfo.LegalCopyright)
Run Code Online (Sandbox Code Playgroud)

fileVersionInfo.LegalCopyright永远是空的!有什么问题?

编辑:
我的原始代码:

var fileVersionInfo = FileVersionInfo.GetVersionInfo(filePath1);
var properties = typeof(FileVersionInfo).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (var propertyInfo in properties)
{
    var value = propertyInfo.GetValue(fileVersionInfo);
    Console.WriteLine("{0} = {1}", propertyInfo.Name, value);
}
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

结果:

文件细节

Lar*_*own 5

(我的声誉太低,无法发表评论,所以我在这里发布)

我刚刚测试了以下代码,它对我来说很正常.

var fileVersionInfo = FileVersionInfo.GetVersionInfo(@"C:\Users\usr\Desktop\Game\steamIntegration\steam_api.dll");
Console.Write(fileVersionInfo.LegalCopyright);
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

也许你的权限不足以支持该文件.在项目中添加*.manifest,将requestedExecutionLevel更改为:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Run Code Online (Sandbox Code Playgroud)

也许这解决了你的问题.