ASP.NET Core: excluye o incluye archivos en publicar

Hubo antes de las aspdotnet1.0 include / exclude en el archivo project.json

 { "exclude": [ "node_modules", "bower_components" ], "publishExclude": [ "**.xproj", "**.user", "**.vspscc" ] } 

¿Dónde está esta sección en ASP.NET Core 1.1 (no hay project.json )? ¿Hay secciones similares en el archivo .pubxml o .pubxml ?

De la documentación : si desea especificar, por ejemplo, algunos archivos para publicar con su aplicación, puede usar los mecanismos conocidos en csproj para eso (por ejemplo, el elemento ).

Existe un atributo CopyToPublishDirectory para elementos ItemGroup que determina si se debe copiar el archivo en el directorio de publicación y puede tener uno de los siguientes valores:

  • Siempre,
  • PreserveNewest
  • Nunca

Tenga en cuenta que también hay un atributo CopyToOutputDirectory similar para la carpeta de salida.

Ejemplo (desde aquí ):

        

Si le interesa cómo la migración de project.json -.csproj usa el atributo CopyToPublishDirectory para migrar las opciones de publicación, puede consultar la clase MigratePublishOptionsRule en dotnet cli repo.

Después de Visual Studio 2017 15.3

Edite el archivo .csproj para excluir manualmente archivos / carpetas de su publicación

     

ref: https://www.danielcrabtree.com/blog/273/fixing-the-duplicate-content-error-after-upgrading-visual-studio-2017

Me di cuenta de que mis carpetas con algunos archivos no se publicaban: intenté hacer clic con el botón derecho en las carpetas del proyecto para ver si podía seleccionar una opción para incluir la carpeta con el despliegue; no está allí, pero sí encontré Selecciono los archivos dentro de la carpeta y los marco para copiarlos en la implementación, copiarán los archivos y crearán su carpeta en el proceso.

Esto ayuda si su carpeta tiene archivos, pero no ayuda si sus carpetas están vacías.

Edite el archivo .csproj para excluir manualmente archivos / carpetas de su publicación.

También puedes referir esto

Para la implementación web, consulte https://blogs.msdn.microsoft.com/webdev/2010/04/22/web-deployment-exclusion-files-and-folders-via-the-web-applications-project-file/ .

project.json ha sido reemplazado por csproj . Puede leer más sobre esto en https://www.stevejgordon.co.uk/project-json-replaced-by-csproj .

Para actualizar los proyectos .NET Core 1.0 existentes o para utilizar .NET Core 1.1, puede leer https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/ .

Con Visual Studio 2017 (probado en 15.6.5), puede hacer clic derecho en el archivo en el Explorador de soluciones y establecer la Acción de comstackción en Ninguno .

Actualizará su archivo .csproj esta manera:

               

Espero que esto ayude.

En .csproj para las versiones de Visual Studio 15.3 y posteriores, esto mantiene los archivos visibles en Visual Studio (mientras que “Content Remove” no lo hace) y evita que los archivos se publiquen.