从 Microsoft.AspNetCore.App 共享框架中删除了程序集

从 ASP.NET Core 目标包中删除了以下两个程序集:

  • System.Security.Permissions
  • System.Windows.Extensions

此外,从 ASP.NET Core 运行时包中删除了以下程序集:

  • Microsoft.Win32.SystemEvents
  • System.Drawing.Common
  • System.Security.Permissions
  • System.Windows.Extensions

引入的版本

ASP.NET Core 6.0

旧行为

应用程序可通过引用 Microsoft.AspNetCore.App 共享框架来使用这些库提供的 API。

新行为

如果使用受影响的程序集中的 API,而项目文件中没有 PackageReference,则可能会出现运行时错误。 例如,如果某应用程序使用反射从其中某个程序集访问 API,但不添加对包的显式引用,则应用程序将出现运行时错误。 PackageReference 确保程序集作为应用程序输出的一部分而存在。

有关讨论内容,请参阅 https://github.com/dotnet/aspnetcore/issues/31007

更改原因

引入此更改是为了减小 ASP.NET Core 共享框架的大小。

要在项目中继续使用这些 API,请添加 PackageReference。 例如:

<PackageReference Include="System.Security.Permissions" Version="6.0.0" />

受影响的 API