【发布时间】:2015-07-13 17:03:46
【问题描述】:
所以我有一个 WPF 应用程序,它使用 Prism Composition 来处理模块化。我的一个包含我的 Prism IModule 的库引用了一个可移植类库。当我尝试运行我的 WPF 应用程序时,出现以下异常:
Microsoft.Practices.Prism.Composition.dll 中出现“System.IO.FileNotFoundException”类型的未处理异常 无法加载文件或程序集 'System.Runtime, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。系统找不到指定的文件。
这发生在我的 UntiyBootstrapper 实现的 InitializeModules 中。我很确定这是因为 Prism 正在尝试加载包含我的 Prism IModule 的库的所有依赖项,但我不太明白为什么它找不到该依赖项。到目前为止,我已经尝试重新安装 Windows 8.1 SDK,因为我读到那是 DLL 应该驻留的位置。
有没有其他人遇到过这种情况或有什么建议?
更新:我发现如果我从这个位置复制 System.Runtime.dll:“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5.1”并将其放在同一个位置作为我的 WPF exe 然后一切运行正常。我不太明白为什么 Prism 库不能加载这个 DLL。是否是 Prism 的限制,因为我在 GAC 中看不到 System.Runtime.dll,那么通常如何解决这种依赖关系?
【问题讨论】:
-
您是否安装了 ReSharper?当您搁置或取消搁置更改时,这是 Resharper 的一个已知问题。
-
不,我不知道。当我尝试运行使用 Prism 库动态加载模块的项目时,会发生此错误。
标签: .net wpf prism portable-class-library modularity