visual una tutorial studio pagina net mvc instalar desde crear con como cero asp c# asp.net asp.net-core visual-studio-2017

c# - una - ASP.NET Core: excluir o incluir archivos en la publicación



como crear una pagina web en visual studio 2017 (6)

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

Existe un atributo CopyToPublishDirectory para los elements 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 similar CopyToOutputDirectory para la carpeta de salida.

Ejemplo (desde here ):

<ItemGroup> <None Include="notes.txt" CopyToOutputDirectory="Always" /> <!-- CopyToOutputDirectory = { Always, PreserveNewest, Never } --> <Content Include="files/**/*" CopyToPublishDirectory="PreserveNewest" /> <None Include="publishnotes.txt" CopyToPublishDirectory="Always" /> <!-- CopyToPublishDirectory = { Always, PreserveNewest, Never } --> </ItemGroup>

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

Había antes de aspdotnet1.0 incluir / excluir secciones 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 ?


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

Actualizará su archivo .csproj así:

<ItemGroup> <Content Remove="appsettings.Development.json" /> <Content Remove="appsettings.json" /> <Content Remove="npm-shrinkwrap.json" /> <Content Remove="package.json" /> <Content Remove="tsconfig.json" /> </ItemGroup> <ItemGroup> <None Include="appsettings.Development.json" /> <None Include="appsettings.json" /> <None Include="npm-shrinkwrap.json" /> <None Include="package.json" /> <None Include="tsconfig.json" /> </ItemGroup>

Espero que esto ayude.


En .csproj para Visual Studio versiones 15.3 y superior, esto mantiene los archivos visibles en Visual Studio (mientras que "Content Remove" no), y evita que los archivos se publiquen.

<ItemGroup> <Content Update="appsettings*.json" CopyToPublishDirectory="Never" /> </ItemGroup>


Me di cuenta de que mis carpetas con algunos archivos no se publicaban. Intenté hacer clic derecho en las carpetas del proyecto para ver si podía seleccionar una opción para incluir la carpeta con la implementación. No está allí, pero descubrí si Selecciono los archivos dentro de la carpeta y los marco para copiarlos en la implementación, copiará los archivos y creará 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 la publicación de archivos / carpetas.

También puedes referir this

Para la implementación web, consulte https://blogs.msdn.microsoft.com/webdev/2010/04/22/web-deployment-excluding-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 proyectos existentes de .NET Core 1.0 o para usar .NET Core 1.1, puede leer https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/ .