2009-01-08 17 views
7

Tengo una aplicación WinForms sencilla que estoy implementando internamente con ClickOnce. La aplicación principal tiene un ensamblaje dependiente, ese ensamblaje tiene algunos archivos de plantilla xml marcados como "Contenido" y "Copiar siempre" en las propiedades de compilación, sin embargo, no aparecen en la lista de Archivos de aplicación si entro en las Propiedades del proyecto- > Publicar-> diálogo de Archivos de Aplicación.Despliegue del archivo de contenido de ensamblajes dependientes con ClickOnce

Cualquiera sabe cómo puedo implementar estos archivos Xml que son parte de un ensamblaje dependiente.

@ codeConcussion- Gracias, funcionó muy bien. Al final agregué el archivo xml usando un Agregar archivo existente y seleccioné 'Agregar como enlace', lo cual logró lo mismo.

Respuesta

2

Estoy usando VS 2008 SP1, por lo que no estoy seguro de que funcione exactamente igual para las versiones VS anteriores.

Puede resolver su problema simplemente agregando un evento de construcción posterior a su proyecto principal. En un proyecto de VB.Net que sería Mi proyecto> Pestaña Compilar> Crear eventos ...> Editar publicación de publicación .... En C#, Properidades del proyecto> Eventos de compilación> Editar creación posterior .... Un simple archivo xcopy [archivo de origen] [carpeta de destino] para copiar el archivo de plantilla xml de la carpeta bin del ensamblaje dependiente a la carpeta bin del proyecto principal debería funcionar.

Desde allí, solo asegúrese de marcar "Mostrar todos los archivos" en el cuadro de diálogo Archivos de la aplicación de la pestaña Publicar.

Una alternativa a esto sería cambiar sus dos proyectos para compilar en la misma carpeta bin. Eso funciona muy bien, pero solo lo haría si el ensamblaje dependiente es específico de esta aplicación y no es un ensamblaje de biblioteca utilizado por varias aplicaciones.

+0

gracias, usuario anónimo, por votar negativamente una respuesta que resolvió el problema del que pregunta y luego proporciona cero información sobre por qué. mantente con clase. – codeConcussion

+0

No soy ese usuario que hizo voto. Pero intentaré explicar la posible razón: cuando tenemos un ensamblado dependiente que incluye algún archivo con la opción CopyAlways, este archivo está copiando en el directorio principal de salida del proyecto, pero no es visible desde la lista de clickonce publish files. No tengo idea de por qué su respuesta fue marcada como correcta, tal vez era posible hacerlo en la versión anterior de VS ... –

+0

Roman Badiornyi es correcto. Tengo un ensamblado dependiente para los informes. Para todos los archivos de informe, configuré 'Crear acción' en 'Contenido' y 'Copiar en directorio de salida' está configurado en 'Copiar siempre'. Cuando construyo la solución, la carpeta Reports en el ensamblado dependiente se copia a la carpeta principal de ensamblajes. Sin embargo, ClickOnce -> Archivos de aplicación no muestra estos archivos, incluso si selecciono la opción 'Mostrar todos los archivos'. – Niranjan

Cuestiones relacionadas