Lorsque je publie un projet ASP.NET CORE 3.0, je reçois quelques dossiers localisés où les 4 assemblages affichés sont dans chacun de ces dossiers. Je ne sais pas pourquoi ces dossiers et fichiers sont inclus. Aucun de mes packages référence a CodeAnalysis
paquet.
J'ai ajouté <PreserveCompilationContext>false</PreserveCompilationContext>
Dans le fichier CSPROJ, mais cela n'a pas aidé. Y a-t-il un moyen de les exclure?
Dans mon cas, la source de ces dossiers localisées provenait du paquet Microsoft.aspnetcore.mvc.razor.Runtimecompilation. Il a une dépendance sur Microsoft.Codeanalysis.Razor. Vous pouvez en savoir plus sur le but du colis ici: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.1
Vous ne pouvez pas simplement exclure un actif lorsque vous essayez de profiter du colis. Mon travail consistait à inclure conditionnellement la référence du paquet chaque fois que le projet est en mode débogage. Référence du paquet conditionnel
J'ai ensuite utilisé une directive #IF pré-processeur pour exécuter de manière conditionnelle le code qui permet la compilation d'exécution Razor. Directive de pré-processeur Directive Razor Runtime Compilation
Remarque: Vous devrez peut-être supprimer votre dossier BIN pour voir les dossiers supprimés après une construction. En outre, assurez-vous de construire sous la configuration de solution correcte.
J'ai pu trouver un problème GitHub décrivant ce scénario exact, mais malheureusement, il n'a jamais été résolu. https://github.com/dotnet/extensions/issues/2247