调试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 与依赖文件。