Mam metodę, która odczytuje ustawienia z mojego pliku konfiguracyjnego w następujący sposób:
var value = ConfigurationManager.AppSettings[key];
Kompiluje się dobrze tylko dla platformy .NET Standard 2.0.
Teraz potrzebuję wielu celów, więc zaktualizowałem plik projektu o:
<TargetFrameworks>netcoreapp2.0;net461;netstandard2.0</TargetFrameworks>
Ale teraz kompilacja kończy się niepowodzeniem netcoreapp2.0
z następującym komunikatem o błędzie:
Error CS0103 The name 'ConfigurationManager' does not exist in the current context (netcoreapp2.0)
Osobno utworzyłem nową aplikację konsolową .NET Core 2.0 (tym razem przeznaczoną tylko dla .NET Core 2.0), ale podobnie wydaje się, że nie ma jej ConfigurationManager
w przestrzeni nazw System.Configuration
.
Jestem trochę zdezorientowany, ponieważ jest dostępny w .NET Standard 2.0, więc spodziewałbym się, że będzie dostępny w .NET Core 2.0, ponieważ .NET Core 2.0 jest zgodny z .NET Standard 2.0.
czego mi brakuje?
It compiles fine when targeting .NET Standard 2.0 only
- to nie może być poprawne, ponieważ ConfigurationManager
nie jest częścią standardu .NET (na razie dotyczy to wersji 2.1).