我想使用Product Version
从文件中读取Author
,.Net Core
等扩展属性。
有类似FileVersionInfo
的类用于提供版本信息,Shell对象用于阅读有关文件的更多信息等。
现在,我再也找不到这样的课了。如何使用.Net Core
阅读此类信息?
答案 0 :(得分:3)
FileVersionInfo
可以很容易找到NuGet,它位于。{3}}
System.Diagnostics
命名空间从一开始就是,所以你只需要安装包:
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一个课程的完整限定名称并添加core
或nuget
,这样您就可以获得所需的新文件了位置。
答案 1 :(得分:0)
可能您可以将文件信息提供程序用于.net核心..
IFileProvider provider = new PhysicalFileProvider(applicationRoot);
IDirectoryContents contents = provider.GetDirectoryContents(""); // the applicationRoot contents
IFileInfo fileInfo = provider.GetFileInfo("wwwroot/js/site.js"); // a file under applicationRoot
遍历fileInfo对象...
了解更多信息......
https://docs.microsoft.com/en-us/aspnet/core/fundamentals/file-providers
希望有所帮助......