3

我正在为一个班级开发一个开源 MVC 项目,一旦其他学生将 MEF 添加到项目中,它就停止为我运行。它仍然适用于其他所有人我已经研究了很长一段时间并询问了教授并且无法得到任何工作。

有关整个错误,请参阅以下内容

http://pastebin.com/7qjanN3b

以下是错误页面每个部分的第一行 注意:

[ReflectionTypeLoadException:无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。]

注意:这是错误页面上的一行,我认为这很奇怪。

[InvalidOperationException:编写 MEF 部件时发生错误。类型:Microsoft.SqlServer.Management.Smo.SecurityUtils、Microsoft.SqlServer.Management.Smo.ExecutionManager、Microsoft.SqlServer.Management.Smo.ExecutionManager+ExecResult、Microsoft.SqlServer.Management.Smo.ExecutionStatus、

删除了几百行垃圾,请查看完整错误的链接

Microsoft.SqlServer.Management.Smo.ScriptContainer,Microsoft.SqlServer.Management.Smo.ObjectScriptContainer,Microsoft.SqlServer.Management.Smo.IdBasedObjectScriptContainer,Microsoft.SqlServer.Management.Smo.TableScriptContainer,Microsoft.SqlServer.Management.Smo.ScriptContainerFactory, Microsoft.SqlServer.Management.Smo.SfcDiscoveryNode、Microsoft.SqlServer.Management.Smo.SfcHierarchyDiscovery、Microsoft.SqlServer.Management.Smo.SfcDependencyDiscovery、Microsoft.SqlServer.Management.Smo.SfcDependencyDiscovery+SfcNodeVisitor、Microsoft.SqlServer.Management.Smo。 SfcDependencyDiscovery+ScriptListContext、Microsoft.SqlServer.Management.Smo.SmoDependencyDiscovery、Microsoft.SqlServer.Management.Smo.ErrorLocation、Microsoft.SqlServer.Management.Smo.DependencyDiscoveryError、Microsoft.SqlServer.Management.Smo。DependencyDiscoverySink,{6700AF61-4E8B-4423-BE3B-A43DE0C1B3B3},{6700AF61-4E8B-4423-BE3B-A43DE0C1B3B3}+_StaticArrayInitTypeSize=24,Microsoft.SqlServer.Management.Smo.Server+d_0,Microsoft.SqlServer.Management.Smo.Database+d_0,Microsoft.SqlServer.Management.Smo.Database+ d_3 Microsoft.SqlServer.Management.Smo .CpuCollection+d_ 0, Microsoft.SqlServer.Management.Smo.BackupMediaSet+<>c _DisplayClass2, Microsoft.SqlServer.Management.Smo.BackupSet+<>c_ DisplayClassa, Microsoft.SqlServer.Management.Smo.PropertyCollection+ d_0 , Microsoft.SqlServer .Management.Smo.ScriptMaker+d_2 ,Microsoft.SqlServer.Management.Smo.ScriptMaker+ d_8,Microsoft.SqlServer.Management.Smo.SmoDependencyOrderer+<>c_DisplayClass25 ,Microsoft.SqlServer.Management.Smo.DatabasePrefetchBase+d_1, Microsoft.SqlServer.Management.Smo.ObjectScriptContainer+<>c__DisplayClass2, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 原因:无法加载文件或程序集 'Microsoft.SqlServer.SqlEnum, Version= 11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91' 或其依赖项之一。该系统找不到指定的文件。

4

2 回答 2

1

我将首先确认您的机器上的 GAC 中安装了 SqlEnum dll。您可以通过转到 C:\Windows\assembly 来检查这一点。如果缺少某些内容,您可能需要修复或重新安装 Sql 管理对象功能。还要检查您安装的版本是否与 MEF 尝试加载的版本相同。

如果您确实安装了它,请尝试使用Fusion Log Viewer。这可以帮助您找到哪些 dll 加载失败,以及加载程序在尝试加载 dll 时执行了哪些步骤。这应该可以帮助您缩小问题的来源。

于 2012-11-26T18:49:29.810 回答
0

我相信您在某处缺少参考。我将回顾代码并确保您的所有“使用”语句都是应有的,以及项目对程序集的引用。

于 2012-11-26T15:56:36.243 回答