调试netcore3.0网站遇到以下错误:

An unhandled exception occurred while processing the request.
InvalidOperationException: Cannot find compilation library location for package 'System.Security.Permissions'
Microsoft.Extensions.DependencyModel.CompilationLibrary.ResolveReferencePaths(ICompilationAssemblyResolver resolver, List<string> assemblies)

其实原因就是 各依赖包冲突所致,我的是myslq 8 驱动引起的。解决办法很简单 把netcore3.0 升级成 netcore3.1 再把相关的依赖包升级成稳定版本就可以了。3.0毕竟是个过渡版本。

错误原因

运行时抛 InvalidOperationException: Cannot find compilation library location for package 'System.Security.Permissions',通常是项目引用或发布产物缺少该包的运行时引用路径,多见于 .NET Core 3.0 与旧包混用。

解决办法

  • 在项目中显式引用 System.Security.Permissions 包。
  • 删除 bin、obj 后重新还原并重新发布。
  • 用 dotnet list package 检查是否存在同一包的多个版本冲突。
  • 确认发布目录包含完整的 runtimeconfig 与依赖文件。