我正在尝试将Piranha集成到一个现有的MVC5网络应用程序中。我在http://piranhacms.org/docs/introduction/getting-started中遵循了推荐的路线,使用Nuget是非常简单的事情。在运行这个应用程序后,我收到一条消息说AutoMapper不在那里,所以通过Nuget添加了它。目前为止一切都很好。再次运行并获得以下错误:
“无法加载一个或多个请求类型。检索LoaderExceptions属性以获得更多信息。”
这是堆栈:
ReflectionTypeLoadException:无法加载一个或多个请求类型。检索LoaderExceptions属性以获得更多信息。 System.Reflection.RuntimeModule.GetTypes(RuntimeModule模块) +0 System.Reflection.RuntimeModule.GetTypes() +4 System.Reflection.Assembly.GetTypes() +70 System.ComponentModel.Composition.Hosting.AssemblyCatalog.get_InnerCatalog() +167 System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetExports(ImportDefinition定义) +11 System.ComponentModel.Composition.Hosting.<>c__DisplayClass3.b__2(ComposablePartCatalog目录) +17 System.Linq.d__14
2.MoveNext() +177 System.ComponentModel.Composition.Hosting.CatalogExportProvider.InternalGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) +205System.ComponentModel.Composition.Hosting.InnerCatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) +14System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable1及出口) +39 System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(ImportDefinition定义,AtomicComposition atomicComposition,IEnumerable1& exports) +23System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition) +61System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable1及出口) +39 System.ComponentModel.Composition.Hosting.AggregateExportProvider.GetExportsCore(ImportDefinition定义,AtomicComposition atomicComposition) +311 System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition定义,AtomicComposition atomicComposition,IEnumerable1& exports) +39System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExports(ImportDefinition definition, AtomicComposition atomicComposition, IEnumerable1及出口) +23 System.ComponentModel.Composition.Hosting.CompositionContainer.GetExportsCore(ImportDefinition定义,AtomicComposition atomicComposition) +156 System.ComponentModel.Composition.Hosting.ExportProvider.TryGetExportsCore(ImportDefinition定义,AtomicComposition atomicComposition,IEnumerable1& exports) +39System.ComponentModel.Composition.Hosting.ExportProvider.GetExports(ImportDefinition definition, AtomicComposition atomicComposition) +36System.ComponentModel.Composition.Hosting.ImportEngine.TryGetExports(ExportProvider provider, ComposablePart part, ImportDefinition definition, AtomicComposition atomicComposition) +44System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportSubset(PartManager partManager, IEnumerable1进口,AtomicComposition atomicComposition) +155 System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImportsStateMachine(PartManager partManager,ComposablePart部件) +439 System.ComponentModel.Composition.Hosting.ImportEngine.TrySatisfyImports(PartManager partManager,ComposablePart部件,布尔型shouldTrackImports) +196 System.ComponentModel.Composition.Hosting.ImportEngine.SatisfyImports(ComposablePart部件) +107 System.ComponentModel.Composition.Hosting.<>c__DisplayClass2.b__0() +26 System.ComponentModel.Composition.Hosting.CompositionServices.TryInvoke(Action action) +33 System.ComponentModel.Composition.Hosting.ComposablePartExportProvider.Compose(CompositionBatch批处理) +841 System.ComponentModel.Composition.Hosting.CompositionContainer.Compose(CompositionBatch批处理) +33 System.ComponentModel.Composition.AttributedModelServices.ComposeParts(CompositionContainer容器,Object[] attributedParts) +172号 c:\Proj\GitHub\Piranha-2.2\Piranha\Application.cs:105中的Piranha.Application..ctor() c:\Proj\GitHub\Piranha-2.2\Piranha\Application.cs:25中的Piranha.Application..cctor()
请特别注意堆栈的最后2行,c:\Proj\GitHub\Piranha-2.2\Piranha\Application.cs:105 Piranha.Application..cctor()中的Piranha.Application..ctor()在c:\Proj\GitHub\Piranha-2.2\Piranha\Application.cs:25.中它在c:\Proj\GitHub\Piranha-2.2 ?中找不到.cs文件。
为了确认不是我做了什么蠢事,我按照步骤将它添加到一个空的MVC c#项目中,结果是一样的。
我是做错什么了还是努基特做错了?
发布于 2015-02-28 06:42:26
AutoMapper引用在Piranha.Core 2.2.4中缺失。更新到2.2.4.1,它应该可以工作!
编辑
您看到这些文件引用的原因是.pdb文件包含在二进制包中。当我编译软件包时,这些文件指向我硬盘上的物理位置。您之所以看到它们,是因为您正在获得另一个异常(查看堆栈跟踪),并且VS正在尝试调试代码。
当扫描Bin中的程序集以获取Piranha扩展时,加载程序异常将在MEF中抛出。这可能是由具有无法解析的引用的其他dll造成的。其他人过去也曾遇到类似的问题,其中一些是Telerik组件。您在应用程序中使用的其他外部组件是什么?
问候
菅直人
https://stackoverflow.com/questions/28769838
复制相似问题