VS 2010 Haga clic una vez que la aplicación escrita en C# copia los archivos XML en otro directorio

StackOverflow https://stackoverflow.com/questions/6354532

Pregunta

  1. Tengo una aplicación de Excel Addin que desarrollé con C# y publiqué en una ubicación de red utilizando Clickonce de VS2010.

  2. La aplicación supone que todos los archivos XML que uso en él están en la misma carpeta que la aplicación en sí.

  3. Pero cuando el usuario instala mi aplicación usando Clickonce

Los archivos de la aplicación se copian en una carpeta ( C: Users myuser appData local apps 2.0 4thjawjk.hyg 5n2yl58d.x55 ical..vsto_d6a691f9c1918311_0006.0000_ac7a074687bf4c5e )

Los archivos de datos como XML se copian en otra ubicación ( C: Users myuser appData local apps 2.0 4thjawjk.hyg 5n2yl58d.x55 ical ... dll_d6a691f9c1918311_0006.0000_none_a70d8116aa98d903 )

La pregunta es ¿tengo alguna configuración en Visual Studio que obligará a todos los archivos a copiarse en una carpeta después de la instalación o hay alguna otra forma de hacerlo?

Gracias.

¿Fue útil?

Solución

Creo que hay un par de soluciones a su problema dependiendo de la intención de su archivo XML.

Opción 1Si desea copiar y el archivo XML en el directorio de instalación raíz de su aplicación cada vez que publique la aplicación, todo lo que necesita hacer es abrir el cuadro de diálogo Propiedades de sus proyectos, vaya a la pestaña Publicar y abra el "Archivos de aplicación. . "Diálogo.

De manera predeterminada, cuando se incluye un archivo XML con un proyecto, ClickOnce especifica que estos archivos deben publicarse como un "archivo de datos" (en la opción Publicar estado).

Cambie el estado de publicación para incluir, y el archivo XML se copiará en su carpeta de instalación, en lugar de la carpeta de datos.

Opcion 2Si está buscando crear un archivo XML que se utilizará para almacenar en caché la configuración específica del usuario que debe persistir en las actualizaciones de la aplicación, recomiendo producir un archivo XML predeterminado como se menciona en el paso 1, sin embargo, cuando la aplicación comienza a verificar si El archivo XML se encuentra en una carpeta de configuración que ha creado dentro de la carpeta de perfil del usuario. La primera vez que inicia la aplicación también deberá verificar y ver si su carpeta existe dentro del perfil del usuario. Si no, cree y copie su archivo XML predeterminado.

Dentro de su aplicación, puede obtener la carpeta de datos del usuario con la siguiente línea de código:

string folder = System.Environment.GetFolderPath(System.Environment.SpecialFolder.UserProfile);

Debe tener acceso completo a la carpeta de perfil del usuario para la creación de carpetas y el contenido de copia, por lo que debe preocuparse por el administrador o los privilegios especiales.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top