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

我正在创build一个文件使用:

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

在创build文件时,是否可以通过编程来指定版本? 所以,如果有人使用FileVersionInfo对象,他们会得到我指定的版本?

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

可能的选择是:

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

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

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

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

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

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

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

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