gpt4 book ai didi

c# - 在 .Net Core 中获取文件扩展属性

转载 作者:可可西里 更新时间:2023-11-01 07:46:27 25 4
gpt4 key购买 nike

我想使用 .Net Core 从文件中读取扩展属性,例如 Product VersionAuthor 等。

FileVersionInfo 类用于提供版本信息,Shell 对象用于读取有关文件的更多信息等。

现在,我再也找不到这样的类(class)了。如何使用 .Net Core 读取此类信息?

最佳答案

FileVersionInfo 可以很容易地在 NuGet 上找到,它位于 System.Diagnostics namespace 从一开始,所以你只需要安装包:

Install-Package System.Diagnostics.FileVersionInfo

像往常一样使用这个类,getting the file info来自一些IFileProvider ,例如,PhysicalFileProvider:

using System.Diagnostics;

var provider = new PhysicalFileProvider(applicationRoot);
// the applicationRoot contents
var contents = provider.GetDirectoryContents("");
// a file under applicationRoot
var fileInfo = provider.GetFileInfo("wwwroot/js/site.js");
// version information
var myFileVersionInfo = FileVersionInfo.GetVersionInfo(fileInfo.PhysicalPath);
// myFileVersionInfo.ProductVersion is available here

对于 Author 信息,您应该使用 FileSecurity类,位于 System.Security.AccessControl命名空间,类型为 System.Security.Principal.NTAccount :

Install-Package System.Security.AccessControl
Install-Package System.Security.Principal

之后用法类似:

using System.Security.AccessControl;
using System.Security.Principal;

var fileSecurity = new FileSecurity(fileInfo.PhysicalPath, AccessControlSections.All);
// fileSecurity.GetOwner(typeof(NTAccount)) is available here

现在的一般规则是用 google 搜索一个类的完整限定名并向其添加 corenuget,这样您肯定会得到需要的新文件位置。

关于c# - 在 .Net Core 中获取文件扩展属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42872823/

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