2012-08-22 5 views
5

Estoy creando un archivo usando:¿Podemos especificar una versión de archivo al crear un archivo en C#?

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

Al crear un archivo, es posible especificar una versión de programación? ¿Para que si alguien usara el objeto FileVersionInfo obtendrían la versión que especifiqué?

+1

probablemente terminará guardando la versión dentro del archivo, como una línea de texto. – Adam

+0

Hola, este es en realidad un archivo especial que necesita contenido formateado de una manera específica, por lo que es posible que no pueda tener información de versión especial en el archivo de texto. Gracias por tu respuesta. – user1202434

Respuesta

2

No, no hay forma de escribir la versión del archivo en de esa manera, ni que yo sepa, sinceramente.

opción posible es:

Escribir versión de archivo en el archivo de sí mismo dentro de algunos datos formateados.

El enfoque más común que veo, es escribir en el comienzo del archivo o en la primera línea del archivo. De modo que puede acceder rápidamente a esa información y decidir si un proceso se lee o no.

+0

Hola, este es en realidad un archivo especial que necesita contenido formateado de una manera específica, por lo que es posible que no pueda tener información de versión especial en el archivo de texto. Gracias por tu respuesta. – user1202434

+2

@ user1202434: si no puede cambiar el formato del archivo, hay otra opción (no estoy seguro si se ajusta a sus requisitos) está creando su formato con (por ejemplo) carpeta comprimida. Para que pueda incluir un manifiesto con la información que desee. Como, por ejemplo, funciona el formato MS DOCX (es una carpeta comprimida simple con muchos archivos dentro). – Tigran

+0

gracias por la sugerencia. Tendré que ver si me funciona ... déjame intentarlo. – user1202434

4

FileVersionInfo es un recurso binario que se puede almacenar en un archivo ejecutable. Sin embargo, está escribiendo un archivo de texto y esos archivos no pueden contener recursos binarios. Pedir la versión (según lo definido por FileVersionInfo) de un archivo de texto tiene sentido

3

Lamentablemente, no es posible. La información de versión es un recurso incrustado adjunto a un archivo y solo los archivos binarios pueden tener recursos incrustados.

Consulte la sección de comentarios de FileVersionInfo Class para obtener más información.

Como un enfoque alternativo, puede crear un archivo de texto adicional para cada archivo de texto que está escribiendo que contiene la información de la versión.

1

Si realmente no puede ingrese la versión en el archivo, quizás intente poner la versión en una "secuencia de datos alternativa" (ADS) de NTFS.

Sin embargo, tendrá que saber lo que hace, ya que eso tiene sus propios errores.

+0

Gracias por la respuesta ... aprende algo nuevo todos los días. Nunca supe sobre "ADS" antes de hoy. – user1202434

+0

@ user1202434: ¡Me alegra que hayas aprendido algo! Es por eso que lo mencioné. :) Por cierto, así es también como Explorer almacena información resumida sobre algunos archivos ... en algunos casos son útiles, pero debes tener en cuenta que podrían perderse en copias de seguridad/copias de archivos/etc., Y que ganó ' t funciona si el usuario usa un sistema de archivos diferente. Por lo general, es una solución arriesgada a menos que sepa * exactamente * lo que está haciendo ... también tenga en cuenta que .NET puede no ser compatible con esto de inmediato, no lo sé. – Mehrdad

Cuestiones relacionadas