TargetFramework-Änderung von „netcoreapp“ in „net“
Der Wert der MSBuild-Eigenschaft TargetFramework
wurde von netcoreapp3.1
in net5.0
geändert. Dadurch wird möglicherweise Code unterbrochen, der von der Verarbeitung des Werts von TargetFramework
abhängig ist.
Eingeführt in Version
5.0
Änderungsbeschreibung
In .NET Core 1.0 bis 3.1 beginnt der Wert für die MSBuild-Eigenschaft TargetFramework
mit netcoreapp
(z. B. netcoreapp3.1
für Apps, die auf .NET Core 3.1 abzielen). Ab NET 5 wird dieser Wert vereinfacht und beginnt nur mit net
(z. B. net5.0
für .NET 5.0).
Weitere Informationen finden Sie unter Die Zukunft von .NET Standard und Zielframeworknamen in .NET 5.
Grund für die Änderung
- Dadurch wird der
TargetFramework
-Wert vereinfacht. - Projekte können eine
TargetPlatform
in dieTargetFramework
-Eigenschaft einschließen.
Empfohlene Maßnahme
Wenn Sie über Logik verfügen, die den Wert von TargetFramework
analysiert, müssen Sie sie aktualisieren. Die folgende MSBuild-Bedingung basiert beispielsweise auf dem Wert von TargetFramework
.
<PropertyGroup Condition="$(TargetFramework.StartsWith('netcoreapp'))">
Für diese Anforderung können Sie den Code so aktualisieren, dass er stattdessen den Zielframeworkbezeichner vergleicht.
<PropertyGroup Condition="'$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))' == '.NETCoreApp'">
Betroffene APIs
–