5

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

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

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

4

4 回答 4

4

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

于 2012-08-22T13:09:41.750 回答
3

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

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

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

于 2012-08-22T13:15:18.163 回答
2

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

可能的选项是:

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

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

于 2012-08-22T13:09:36.580 回答
1

如果您真的无法将版本输入文件本身,则可以尝试将版本放入 NTFS“备用数据流”(ADS)中。

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

于 2012-08-22T13:15:33.030 回答