ASP.NET Núcleo: Excluir o incluir archivos en la publicación
Había antes de aspdotnet1.0
incluir / excluir secciones en project.json
archivo
{
"exclude": [
"node_modules",
"bower_components"
],
"publishExclude": [
"**.xproj",
"**.user",
"**.vspscc"
]
}
¿Dónde está esta sección en ASP.NET Core 1.1 (there is no project.json
)?
¿Hay secciones similares en el archivo .csproj
o .pubxml
?
6 answers
De la documentación : si desea especificar, por ejemplo, algunos archivos para publicarlos con su aplicación, aún puede usar los mecanismos conocidos en
csproj
para eso (por ejemplo, el elemento<Content>
).
Hay un atributo CopyToPublishDirectory
para ItemGroup
elementos que determina si copiar el archivo al directorio publish y puede tener uno de los siguientes valor:
- Siempre,
- PreserveNewest
- Nunca
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 le interesa cómo project.json -.csproj
migration usa el atributo CopyToPublishDirectory
para migrar las opciones de publicación, puede buscar en la clase MigratePublishOptionsRule en el repositorio de cli de dotnet.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-09 17:51:12
Después de Visual Studio 2017 15.3
Editar el .archivo csproj para excluir manualmente archivos / carpetas de ser publicado
<ItemGroup>
<Content Remove="src\**" />
<Content Remove="node_modules\**" />
</ItemGroup>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-02-07 18:54:07
Me di cuenta de que mis carpetas con algunos archivos en ellos no se estaban publicando - Intenté hacer clic derecho en las carpetas en el proyecto para ver si podía seleccionar una opción para incluir la carpeta con la implementación - no está allí, pero encontré que si selecciono los archivos dentro de la carpeta y los marqué para copiar 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.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-16 04:34:14
Editar el .archivo csproj para excluir manualmente archivos / carpetas de ser publicados.
También puede referirse esto
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
se ha sustituido ahora por csproj
. Puedes leer más sobre ello en https://www.stevejgordon.co.uk/project-json-replaced-by-csproj .
Para Mejorar Proyectos existentes de. NET Core 1.0 o para usar Usando. NET Core 1.1 puede leer https://blogs.msdn.microsoft.com/dotnet/2016/11/16/announcing-net-core-1-1/.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:22
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 None.
Actualizará tu 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.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-19 04:10:48
En .csproj
para las versiones de Visual Studio 15.3 y superiores, esto mantiene los archivos visibles en Visual Studio (mientras que "Content Remove" no lo hace), y evita que los archivos se publiquen.
<ItemGroup>
<Content Update="appsettings*.json" CopyToPublishDirectory="Never" />
</ItemGroup>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-15 02:27:17