c#简单文件版本控制

本文关键字:版本控制 文件 简单 | 更新日期: 2023-09-27 18:10:24

是否有一种。net支持的方式在文件系统中以编程方式控制基本文本、excel、word等文件的版本?

更具体地说,我正在尝试将文件版本属性添加到Crystal Reports文件,该文件在客户端请求运行报告时从服务器流到客户端。FileVersionInfo只支持读取文件版本,File.GetAttributes只读取HiddenReadonly等。

编辑:请注意,我不需要在客户端保留这些文件的旧版本。我可以删除它们并用更新版本的报告文件替换它们。我只需要一种在客户端持久化文件版本的方法。

string path = @"C:'myReport.rpt";
FileVersionInfo myFileVersionInfo = FileVersionInfo.GetVersionInfo(path);
Console.WriteLine("File: " + myFileVersionInfo.FileDescription + 
                  ''n' + "Version: " + myFileVersionInfo.FileVersion);
if(File.Exists(path))
{
    var fileAttributes = File.GetAttributes(path);
}
Console.ReadKey();

c#简单文件版本控制

普通文件没有这些属性。您将不得不在外部实现它们。这里也有这个问题

根据MSDN:

版本资源通常在Win32资源文件中指定,或者在程序集属性中指定。例如,IsDebug属性反映了文件的VS_FIXEDFILEINFO块中的VS_FF_DEBUG标志值,该块是由Win32资源文件中的VERSIONINFO资源构建的。有关在Win32资源文件中指定版本资源的更多信息,请参见平台SDK中的"关于资源文件"answers"VERSIONINFO资源"。有关在. net模块中指定版本资源的详细信息,请参阅设置程序集属性主题。MSDN

所以,有一些本地的方式来存储属性的每个文件在一个单独的"资源"文件,但它将包括一些本地方法调用,和一个。net warper类。