2009-10-29 18 views
13

¿Hay alguna manera de configurar Visual Studio para publicar todos los archivos PDF?Cómo configurar Visual Studio para publicar archivos pdf automáticamente

Sé que puede establecer cada archivo pdf individual en un proyecto con la propiedad Build Build "Contenido".

Pero eso significa hacer lo mismo cientos de veces para mi proyecto actual, ¿hay alguna manera de cambiar una configuración global para hacer lo mismo?

+0

publicar archivos PDF? ¿Qué le parece si coloca los archivos PDF fuera de su proyecto y los mapea a través de una carpeta virtual en su servidor web? –

+0

Los servidores web no son realmente los problemas, el problema es obtener archivos PDF que se usan y manuales/documentos/descargas se agregan al proyecto, pero es necesario configurar cada uno para que cuando se publique se transfieran al servidor. una vez allí todo está bien. – TheAlbear

+0

¿Qué le parece usar la selección múltiple? Solo unos pocos clics del mouse y listo.O bien, si sus documentos PDF están distribuidos en el árbol del proyecto, abra el archivo del proyecto en un editor de texto y realice una búsqueda global y reemplácelo. –

Respuesta

2

supongamos que existen los archivos PDF que deseen implementar fuera del proyecto en c: \ archivos PDF, modificar el .csproj

<ItemGroup> 
    <Content Include="c:\PDFs\**\*.pdf" /> 
</ItemGroup> 

Si están en una carpeta "MyPdfs" relativa a la raíz del proyecto

<ItemGroup> 
    <Content Include="MyPdfs\**\*.pdf" /> 
</ItemGroup> 

Algunos más detalles sobre esto se puede encontrar en: https://stackoverflow.com/a/12202917/37055

1

Puede editar su archivo de proyecto directamente para agregar los elementos necesarios <CopyToOutputDirectory>Always</CopyToOutputDirectory> a los archivos PDF. (Si el proyecto no está bajo control de código fuente, prueba en primer lugar una copia y mantener copias de seguridad en caso de que todo va mal)

5

Añadir un evento posterior de la estructura con el siguiente comando:

xcopy "$(ProjectDir)myPdfs\*.pdf" "$(TargetDir)myPdfs\" /S /Y 

Nota en el El comando anterior myPdfs es solo una subcarpeta del directorio de su proyecto que contiene todos los archivos PDF. Si tiene más de una de estas subcarpetas, necesita ejecutar el comando para cada una.

Espero que esto funcione!

+1

Parece que esta es la mejor opción. – TheAlbear

15

hay una manera más fácil, primero debe asegurarse de que su archivo esté incluido en el proyecto, luego haga clic derecho en el archivo vaya a propiedades, habrá una opción "copiar al directorio de salida", elija "copiar" siempre"

Buena suerte

+7

También debe configurar la "Acción de compilación" en "Contenido", entonces esta es la mejor respuesta. – paul

+2

-1 Copiar siempre lo copia al directorio bin. La respuesta de Vinblad es la correcta. Cambia la acción de compilación a contenido. – adam0101

+0

Gracias @paul .. 'Copiar siempre' solo no funciona. Establecer la acción de compilación resuelve el problema. – user1003916

1

CopyToOutputDirectory copiará los archivos a la carpeta bin cuando publica. Configurando "Build Action" a "Content" copiará los archivos sin la necesidad de la configuración CopyToOutputDirectory. Pero esto todavía debe hacerse en cada archivo. Puede hacer una regex reemplazar en el archivo de proyecto de <None Include="XXX.pdf" /> a <Content Include="XXX.pdf" />.

2

Abra la csproj archivo y el cambio:

<None Include="my.pdf"> 

a:

clic
<Content Include="my.pdf"> 
13

Justo a la derecha en el archivo que desea incluir, seleccione Propiedades, en la acción de cambiar las propiedades de la ventana de compilación para el contenido . Esto incluirá el archivo durante la publicación.

+1

debería ser la respuesta real. Gracias amigo. – fuzz

+1

esta es una mejor respuesta. – kaptan

Cuestiones relacionadas