2017-12-27 9 views
0

Ich habe ein Nuget-Paket, das .xdt für eine app.config-Datei transformiert hat. Die xdt-Dateien sind im netstandard 2.0-Projekt enthalten, das das nuget-Paket erstellt. Ihre Build-Aktion ist auf Inhalt gesetzt/nicht kopieren. Wenn ich das Paket in einem .net-Framework-Projekt installiere, funktionieren die xdt-Transformationen korrekt, aber wenn ich das Paket in einem netstandard 2.0-Projekt installiere, transformieren die xdt-Dateien die Konfigurationsdatei nicht, sondern werden dem Projekt mit einem Build hinzugefügt Aktion des C# -Compilers. Unterstützt nuget keine xdt-Transformationen bei Netstandard-Projekten?Werden xdt-Transformationen in nuget-Paketen, die in einem netstandard 2.0-Projekt installiert sind, nicht unterstützt?

Antwort

0

Sie haben Recht, xdt-Transformationen werden in PackageReference Umgebung nicht unterstützt. Dies umfasst sowohl sdk-basierte Projekte als auch klassische .net-Framework-Projekte unter Verwendung von PackageReference anstelle von packages.config. Sie können this GitHub issue für weitere Details folgen. Es gibt auch eine sample package, die zeigt, wie Build-Time-Logik verwendet wird, um Transformationen stattdessen in allen Umgebungen zu verwenden.

Beachten Sie auch, dass .NET Standard und .NET Core-Projekte keine app.config Datei haben, auf die eine Transformation angewendet werden könnte. Dies ist nur für .NET Framework/klassische Webanwendungen relevant. (mit möglicherweise einer Ausnahme für IIS-Einstellungen für ASP.NET Core-Anwendungen, aber sie betreffen nicht die App selbst, nur IIS-Hosting-Umgebung).

Verwandte Themen