Il y avait avant aspdotnet1.0
sections d'inclusion/exclusion sur le fichier project.json
{
"exclude": [
"node_modules",
"bower_components"
],
"publishExclude": [
"**.xproj",
"**.user",
"**.vspscc"
]
}
Où se trouve cette section dans ASP.NET Core 1.1 (il n'y a pas de project.json
)? Existe-t-il des sections similaires dans le fichier .csproj
ou .pubxml
?
De documentation : si vous souhaitez spécifier, par exemple, certains fichiers à publier avec votre application, vous pouvez toujours utiliser les mécanismes connus de
csproj
pour cela (par exemple, le<Content>
element).
Il existe un attribut CopyToPublishDirectory
pour ItemGroup
éléments qui détermine si le fichier doit être copié dans le répertoire de publication et peut avoir l'une des valeurs suivantes:
Notez qu'il existe également un attribut similaire CopyToOutputDirectory
pour le dossier de sortie.
Exemple (de ici ):
<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 vous êtes intéressé par la manière dont project.json -.csproj
migration utilise l'attribut CopyToPublishDirectory
pour migrer les options de publication, vous pouvez consulter MigratePublishOptionsRule classe dans le référentiel de dotnet.
Après Visual Studio 2017 15.3
Editez le fichier .csproj pour exclure manuellement la publication de fichiers/dossiers
<ItemGroup>
<Content Remove="src\**" />
<Content Remove="node_modules\**" />
</ItemGroup>
Dans .csproj
pour les versions 15.3 et supérieures de Visual Studio, les fichiers sont visibles dans Visual Studio (contrairement à "Suppression du contenu") et empêchent la publication des fichiers.
<ItemGroup>
<Content Update="appsettings*.json" CopyToPublishDirectory="Never" />
</ItemGroup>
Avec Visual Studio 2017 (testé dans 15.6.5), vous pouvez cliquer avec le bouton droit de la souris sur le fichier dans le Explorateur de solutions et définir le Action de génération. à Aucun.
Il mettra à jour votre fichier .csproj
comme ceci:
<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>
J'espère que cela t'aides.
J'ai remarqué que mes dossiers contenant quelques fichiers n'étaient pas publiés. J'ai essayé de cliquer avec le bouton droit de la souris sur les dossiers du projet pour voir si je pouvais sélectionner une option pour inclure le dossier avec le déploiement. Ce n'est pas là, mais j'ai trouvé si Je sélectionne les fichiers dans le dossier et les marque pour les copier lors du déploiement. Les fichiers seront copiés et créer leur dossier dans le processus.
Cela aide si votre dossier contient des fichiers, mais pas si vos dossiers sont vides.
Modifiez le fichier .csproj pour exclure manuellement la publication des fichiers/dossiers.
Vous pouvez également vous référer this
Pour le déploiement Web, voir https://blogs.msdn.Microsoft.com/webdev/2010/04/22/web-deployment-excluding-files-and-folders-via-the-web-applications-project- fichier / .
project.json
a été remplacé par csproj
. Vous pouvez en savoir plus à ce sujet sur https://www.stevejgordon.co.uk/project-json-replaced-by-csproj .
Pour mettre à niveau des projets .NET Core 1.0 existants ou pour utiliser .NET Core 1.1, vous pouvez lire https://blogs.msdn.Microsoft.com/dotnet/2016/11/16/announcing-net-core-1 -1 / .