2010-07-07 24 views
5

Tengo algunos archivos, archivos de sonido (.wav y .mp3) y archivos de texto (.rtf), en mi carpeta bin \ Debug durante la codificación, pero después de la publicación no se encuentran por ningún lado.¿Cómo implementar archivos con una aplicación clickonce?

Mi aplicación puede reproducir archivos de sonido y estos son los archivos de sonido predeterminados que se supone deben instalarse con la aplicación en la ruta Application.Startup.

Los archivos de texto * .rtf que cargo en un control RichtextBox en mi formulario de Ayuda para la aplicación.

Tengo sus propiedades establecidas en Contenido y Copie si es nuevo.

Respuesta

7

Debe establecer estos archivos como contenido (como lo ha hecho) para que se copien en la carpeta bin. Luego abra la página de propiedades del proyecto, seleccione la pestaña "Publicar" y haga clic en "Archivos de la aplicación ...". Ahora debería ver una lista de archivos relacionados con su proyecto y el valor que indica cómo deberían publicarse. Lo más probable es que sus archivos se hayan marcado como datos y se destinen a su carpeta de datos de aplicaciones ClickOnce, no a la carpeta bin. Cambie su código para usar la carpeta de datos ClickOnce (hay métodos de ayuda) o asegúrese de que esté seleccionado "Incluir" y no "Archivo de datos".

Alternativamente, si no se espera que los archivos cambien en la aplicación cliente, podría considerar incorporar sus archivos en su dll como recurso.

+0

Gracias, @Bronumski. Pero el otro problema que tengo es que importé mi proyecto a un repositorio svn en línea. Luego revisé mi copia de trabajo. Ahora, esos archivos, tal como se muestran en Visual Studio Solution Explorer, no tienen los iconos específicos del tipo de archivo y, en la ventana Propiedades, las propiedades "Crear acción" y "Copiar al directorio de salida" no se muestran. – systemovich

+1

Solo tenía que configurar "Contenido" y "Copiar al directorio de salida" para las copias de los archivos en la carpeta bin \ Debug y concatenar "\ bin \ Debug" a Application.StartupPath al código donde cargué los archivos. Gracias. – systemovich

1

No me queda claro: ¿ha agregado estos archivos a su proyecto en Visual Studio? De ser así, agréguelos al nivel superior donde se encuentra su archivo csproj, o colóquelos en una carpeta debajo (se implementarán en la misma ruta relativa). Definitivamente NO incluiría archivos de la carpeta \ bin \ debug. Puede borrar fácilmente su carpeta \ bin en algún momento y allí van. No estoy seguro de que estés haciendo eso, pero parece que lo eres.

Si los coloca en el nivel superior de su proyecto, estarán en el nivel superior de su implementación. Si los coloca en una carpeta, estarán en esa ruta relativa. Establezca Build Action en "contenido", y establecería "copiar en el directorio de salida" para "copiar siempre".

+0

También tengo los archivos en el nivel superior, pero sus propiedades "Crear acción" y "Copiar al directorio de salida" no aparecen en la ventana Propiedades. En el Explorador de soluciones, estos archivos tampoco tienen los iconos específicos del tipo de archivo, sino la "página en blanco con la esquina superior derecha doblada y con el borde de línea quebrada". Aquí hay una captura de pantalla donde se selecciona el archivo Alarm_Clock_Help.rtf en el Explorador de soluciones: http://tinyurl.com/39lqo45 – systemovich

+0

Mi comentario anterior se refiere. Descubrí que el motivo era que copié los archivos usando Windows Explorer. Ahora agregué los archivos al proyecto usando "Proyecto> Agregar elemento existente ..." en el menú de Visual Studio y tienen los iconos correctos y las propiedades correctas. – systemovich

+0

Estaba pensando que probablemente habías hecho eso. Creo que puede hacer clic derecho sobre ellos y seleccionar "incluir en el proyecto" y también los agregará al proyecto en ese caso. Entonces, ¿los archivos se están implementando correctamente ahora? – RobinDotNet

Cuestiones relacionadas