我在Windows中有一个SFX(自解压可执行文件)文件(使用诸如7z
,WinRar
等的zip工具创建)具有以下详细信息:
我想在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();
结果:
最佳答案
(我的声誉太低,无法发表评论,所以我在这里发表)
我刚刚测试了以下代码,它对我来说正常工作。
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" />
也许可以解决您的问题。