我们可以在C#中创建文件时指定文件版本吗?

时间:2012-08-22 13:06:25

标签: c# windows fileversioninfo

我正在使用以下方式创建文件:

File.WriteAllText(FILEPATHNAME, "SOME VALUE");

创建文件时,是否可以通过编程方式指定版本?那么如果有人使用FileVersionInfo对象,他们会得到我指定的版本吗?

4 个答案:

答案 0 :(得分:4)

FileVersionInfo是一个二进制资源,可以存储在可执行文件中。但是,您正在编写文本文件,并且这些文件不能包含二进制资源。询问文本文件的版本(由FileVersionInfo定义)确实有意义

答案 1 :(得分:3)

不幸的是,这是不可能的。版本信息是附加到文件的嵌入式资源,只有二进制文件可以具有嵌入的资源。

有关详细信息,请参阅FileVersionInfo Class的备注部分。

作为替代方法,您可以为正在编写的包含版本信息的每个文本文件创建其他文本文件。

答案 2 :(得分:2)

不,没有办法以那种方式编写文件版本,也不是我所知道的,老实说。

可能的选择是:

在某些格式化数据中将文件版本写入文件本身。

我看到的最常见的方法是写入文件的开头或文件的第一行。因此,您可以快速访问该信息,并决定是否使用读取进程。

答案 3 :(得分:1)

如果确实无法将版本输入到文件本身,可以尝试将该版本放入NTFS“备用数据流”(ADS)。

你需要知道你在做什么,因为它有自己的陷阱。