我有一个棱镜的问题:
Prism.Ioc.容器解析异常:在解析“系统.IO.FileNotFoundException”时发生意外错误:未能加载文件或程序集“System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1,Culture=neutral,PublicKeyToken= b 03 f5 f7 f11 d50 a3 a”或它的某个依赖项。系统找不到指定的文件。
我在我的项目中以.NET 4. 8为目标。我已经尝试安装编译器服务的NUGET预览6。
但没有任何东西能帮助解决这个问题。
有什么建议吗?
以下是完整的例外状况:
Prism.Ioc.容器解析异常:在解析“系统.IO.FileNotFoundException”时发生意外错误:未能加载文件或程序集“System.Runtime.CompilerServices.Unsafe,Version=4.0.4.1,Culture=neutral,PublicKeyToken= b 03 f5 f7 f11 d50 a3 a”或它的某个依赖项。系统在Unity.Builder.BuilderContext中找不到指定的文件。解决(类型类型,字符串名称,InternalRegistration注册)在Unity.Builder.BuilderContext.Resolve(类型类型,字符串名称)在Unity.Builder.BuilderContext.Resolve(ParameterInfo参数、对象值)。(BuilderContext& c)位于Unity.处理器.成员处理器2.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) at Unity.Processors.MemberProcessor
2.〈〉c___DisplayClass8_0.b__0(BuilderContext& c)在Unity.Processors.MemberProcessor 2.<>c__DisplayClass8_0.<GetResolver>b__0(BuilderContext& c) at Unity.Strategies.BuildPlanStrategy.PreBuildUp(BuilderContext& context) at Unity.UnityContainer.<>c.<.ctor>b__73_1(BuilderContext& context) at Unity.UnityContainer.Unity.IUnityContainer.Resolve(Type type, String name, ResolverOverride[] overrides) at Prism.Unity.UnityContainerExtension.Resolve(Type type, ValueTuple
2[]参数处)---内部异常堆栈跟踪的结尾---在Prism. Unity处。UnityContainerExtension.Resolve(类型类型,ValueTuple '2[]参数)at Prism.Ioc.IContainerProviderExtensions.解析[T](IContainerProvider提供程序)在棱镜.区域.区域适配器Map.注册MapTControl上,棱镜上的适配器。棱镜初始化扩展。注册默认区域适配器Map(区域适配器Map区域适配器Map)。棱镜引导程序库。配置区域适配器Map在Prism. Prism引导程序库中初始化()。运行()
1条答案
按热度按时间zxlwwiss1#
经过一段时间的尝试,我发现如果我让System.Runtime.CompilerServices.Unsafe软件包升级到当前稳定的5.0.0版本,那么应用程序就会抛出上面的异常。我必须降级到4.5.3版本,然后一切都能正常工作。
软件包管理器仍然希望我更新System.Runtime.CompilerServices.Unsafe,不幸的是我对软件包管理器的工作原理了解不够,但看起来像是另一个组件(我猜是统一的,因为异常来自容器)依赖于这个有问题的DLL的特定版本,或者可能是完全不同的东西。
降级对我有用。所以这就是我的解决方案。