Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ostrzeżenie jest teraz emitowane, gdy projekt docelowy netstandard1.x jest kompilowany przy użyciu zestawu .NET 9+ SDK.
Poprzednie zachowanie
Wcześniej można utworzyć projekt przeznaczony dla platformy .NET Standard 1.0 — .NET Standard 1.6 bez żadnych ostrzeżeń dotyczących kompilacji.
Nowe zachowanie
Począwszy od platformy .NET 9, jeśli utworzysz projekt przeznaczony dla platformy .NET Standard 1.0 — .NET Standard 1.6, zostanie wyświetlone następujące ostrzeżenie:
ostrzeżenie NETSDK1215: Docelowanie platformy .NET Standard przed wersją 2.0 nie jest już zalecane. Aby uzyskać więcej informacji, zobacz https://aka.ms/dotnet/dotnet-standard-guidance.
Wersja wprowadzona
.NET 9 (wersja zapoznawcza 6)
Typ zmiany przełamującej
Ta zmiana może mieć wpływ na zgodność źródła .
Przyczyna zmiany
Wprowadzono ostrzeżenie dotyczące kompilacji, aby zachęcić użytkowników do ukierunkowania na .NET Standard 2.0 lub .NET 6+. Jeśli targetujesz platformę .NET Standard 1.x, ograniczasz się do podzestawu programu .NET Framework 4.5, który ma ponad 10 lat. Od tego czasu doszło do wielu innowacji, których brakuje. Ponadto platforma .NET Standard 1.x jest dystrybuowana jako szczegółowy zestaw pakietów NuGet, który tworzy duży graf zależności pakietu i powoduje pobranie wielu pakietów podczas kompilowania projektu.
Aby uzyskać więcej informacji, zobacz Jakie są wady określania docelowej wersji platformy .NET Standard 1.x?.
Zalecana akcja
Zaktualizuj właściwość TargetFramework na netstandard2.0 lub netstandard2.1.
Jeśli musisz pozostać w starszej wersji platformy .NET Standard, możesz ustawić wartość <CheckNotRecommendedTargetFramework> na false w pliku projektu (na przykład plik csproj ) lub plik Directory.Build.props , aby pominąć sprawdzanie wersji platformy docelowej:
<PropertyGroup>
...
<CheckNotRecommendedTargetFramework>false</CheckNotRecommendedTargetFramework>
</PropertyGroup>
Alternatywnie można pominąć ostrzeżenie przy użyciu <NoWarn> właściwości w pliku projektu:
<PropertyGroup>
...
<!-- Disable "Targeting .NET Standard prior to 2.0 is no longer recommended." warning -->
<NoWarn>$(NoWarn);NETSDK1215</NoWarn>
</PropertyGroup>
Interfejsy API, których dotyczy problem
N/A