LegalCopyRight始终为空

LegalCopyRight始终为空

我在Windows中有一个SFX(自解压可执行文件)文件(使用诸如7zWinRar等的zip工具创建)具有以下详细信息:

c# - 在FileVersionInfo C#中LegalCopyRight始终为空吗?-LMLPHP

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

var fileVersionInfo = FileVersionInfo.GetVersionInfo(filePath);
Console.Write(fileVersionInfo.LegalCopyright)


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();


结果:

c# - 在FileVersionInfo C#中LegalCopyRight始终为空吗?-LMLPHP

最佳答案

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

我刚刚测试了以下代码,它对我来说正常工作。

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


也许您的权限不足以容纳该文件。在项目中添加一个* .manifest,将requestedExecutionLevel更改为:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />


也许可以解决您的问题。

10-08 11:38