Antes aspdotnet1.0 , había secciones de inclusión/exclusión 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 .csproj o .pubxml ?
De la documentación : si desea especificar, por ejemplo, algunos archivos para que se publiquen con su aplicación, aún puede usar los mecanismos conocidos en
csprojpara eso (por ejemplo, el elemento<Content>).
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:
Tenga en cuenta que también hay un atributo CopyToOutputDirectory similar para la carpeta de salida.
Ejemplo (de aquí ):
<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 está interesado en cómo la migración project.json -.csproj usa el atributo CopyToPublishDirectory para migrar las opciones de publicación, puede consultar la clase MigratePublishOptionsRule en dotnet cli repo.
En .csproj para las versiones 15.3 y posteriores de Visual Studio, esto mantiene los archivos visibles en Visual Studio (mientras que "Eliminar contenido" no) y evita que los archivos se publiquen.
<ItemGroup> <Content Update="appsettings*.json" CopyToPublishDirectory="Never" /> </ItemGroup>Después de Visual Studio 2017 15.3
Edite el archivo .csproj para excluir manualmente la publicación de archivos/carpetas
<ItemGroup> <Content Remove="src\**" /> <Content Remove="node_modules\**" /> </ItemGroup>