Wenn ich ein ASP.NET Core 3.0-Projekt veröffentliche, erhalte ich einige lokalisierte Ordner, in denen sich die 4 angezeigten Assemblys in jedem dieser Ordner befinden. Ich bin nicht sicher, warum diese Ordner und Dateien enthalten sind. Keines meiner Pakete verweist auf ein CodeAnalysis
Paket.
Ich habe <PreserveCompilationContext>false</PreserveCompilationContext>
in der csproj-Datei hinzugefügt, aber es hat nicht geholfen. Gibt es eine Möglichkeit, sie auszuschließen?
asp.net-core
visual-studio-2019
asp.net-core-3.0
Tony_Henrich
quelle
quelle
Antworten:
Sie erhalten viele Sprachordner mit
CodeAnalysis.dll
Dateien in Ihrer veröffentlichten Ausgabe, wenn Sie einen Projektverweis auf habenMicrosoft.VisualStudio.Web.CodeGeneration.Design
, der für Gerüststeuerungen benötigt wird. Wenn dies für Ihr Projekt zutrifft, ändern Sie die Paketreferenz in Ihre.csproj
Datei, um sie einzuschließenExcludeAssets="all"
Zum Beispiel alte
*.csproj
DateiNeue Datei
*.csproj
sollte seinquelle
In meinem Fall stammte die Quelle dieser lokalisierten Ordner aus dem Paket Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation. Es hat eine Abhängigkeit von Microsoft.CodeAnalysis.Razor. Weitere Informationen zum Zweck des Pakets finden Sie hier: https://docs.microsoft.com/en-us/aspnet/core/mvc/views/view-compilation?view=aspnetcore-3.1
Sie können ein Asset nicht einfach ausschließen, wenn Sie versuchen, das Paket zu nutzen. Meine Problemumgehung bestand darin, die Paketreferenz immer dann bedingt einzuschließen, wenn sich das Projekt im Debug-Modus befindet. bedingte Paketreferenz
Ich habe dann eine # if-Präprozessor-Direktive verwendet, um den Code, der die Kompilierung der Rasiermesser-Laufzeit ermöglicht, bedingt auszuführen. Razor-Laufzeitkompilierung der Vorprozessor-Direktive
Bitte beachten Sie: Möglicherweise müssen Sie Ihren bin-Ordner löschen, damit die Ordner nach einem Build entfernt werden. Stellen Sie außerdem sicher, dass Sie unter der richtigen Lösungskonfiguration erstellen.
Ich konnte ein Github-Problem finden, das genau dieses Szenario beschreibt, aber leider wurde es nie behoben. https://github.com/dotnet/extensions/issues/2247
quelle