Ich habe eine ältere ASP.NET 4.0 Webforms-Anwendung, die seit einiger Zeit in Produktion ist. Ich füge jetzt zusätzliche Funktionalität in Form eines WebAPI-REST-Dienstes hinzu.Verhalten beim "Externalisieren" bestimmter Konfigurationseinstellungen in externe Dateien
die WebAPI NuGet Pakete auch Hinzufügen hinzugefügt einen Eintrag in mein web.config
die NewtonSoft.Json Paket Runtime-Version konfigurieren:
Nun, da ich meine config "compartementalized" haben , Ich wollte dies in eine separate runtime.config
Datei und verweisen Sie es von der Haupt web.config
:
Wenn ich das tue, plötzlich meine Registrierung von WebAPI Routen in global.asax.cs
protected void Application_Start(object sender, EventArgs e)
{
...
// Route #1
GlobalConfiguration.Configuration.Routes.MapHttpRoute("Route1", "test/{list}/{check}", new { Controller = "Devices" });
...
}
schlägt mit einer Ausnahme:
System.IO.FileLoadException durch Benutzercode
Nachricht unhandled war = Die Datei oder Assembly "Newtonsoft.Json, Version = 4.5.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed" oder eine Abhängigkeit konnte nicht gefunden werden. Source = System.Net.Http.Formatting
filename = Newtonsoft.Json, Version = 4.5.0.0, Culture = neutral, PublicKeyToken = 30ad4fe6b2a6aeed
Mir scheint es, als ob der externalisiert runtime.config
nicht wird gleichzeitig gelesen als der Inhalt der web.config
selbst ...... was für mich eher überraschend ist, hätte ich erwartet, dass die ganze web.config
einschließlich aller "externalized" Sub-Config-Dateien vor Code gelesen werden würde in global.asax.cs
wird ausgeführt ...
Irgendwelche Einsichten? Ich weiß nicht einmal, wo diese detaillierte Information auf MSDN ....
suchen
Sieht aus, als ob Sie nicht der Erste sind - http://world.episerver.com/Blogs/Magnus-Rahl/Dates/2011/6/Todays-gotcha-configSource-on-the-runtime-section-element/ und https://social.msdn.microsoft.com/Forums/vstudio/en-US/7552df69-d3a0-49e4-b45f-0fa4972fa64c/assembly-version-redirect-doesnt-work-with-a-configsource-in-runtime? Forum = Kl. Nicht sicher, ob/wo es auf MSDN so abgedeckt ist. –
@AlexeiLevenkov: Wenn Sie dies als Antwort hinzufügen, werde ich es glücklich akzeptieren :-) –