2012-11-25 4 views
3

오픈 소스 MVC 프로젝트에서 일하고 있습니다. 다른 학생 중 한 명이 MEF를 프로젝트에 추가하면 실행이 중단되었습니다. 그것은 여전히 ​​다른 모든 사람들을 위해 달려 있습니다. 저는 이것을 꽤 오랫동안 연구했고 교수에게 물었고 아무것도 할 수 없었습니다.MEF를 추가 한 후 MVC 앱이 작동을 멈 춥니 다.

[ReflectionTypeLoadException : 없음 하나를로드하거나 할 수있는 전체 오류

여기에 다음과 같은

http://pastebin.com/7qjanN3b

오류 페이지의 각 섹션의 첫 번째 라인 참고가 참조하십시오 요청 유형 중 하나 이상 더 내용은 LoaderExceptions 속성을 검색]

참고 :.이 나는 이것이 매우 이상한 생각 에러 페이지에 한 줄입니다.

[InvalidOperationException : MEF 부분을 구성하는 동안 오류가 발생했습니다. 형식 : Microsoft.SqlServer.Management.Smo.SecurityUtils, Microsoft.SqlServer.Management.Smo.ExecutionManager, Microsoft.SqlServer.Management.Smo.ExecutionManager + ExecResult, Microsoft.SqlServer.Management.Smo.ExecutionStatus, GARBAGE OF

제거됨 수백 라인 FULL 오류

Microsoft.SqlServer.Management.Smo.ScriptContainer, Microsoft.SqlServer.Management.Smo.ObjectScriptContainer, Microsoft.SqlServer.Management.Smo LINK를 참조 PLEASE .IdBasedObjectScriptContainer, Microsoft.SqlServer.Management.Smo.TableScriptContainer, Mi crosoft.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, {6700AF61-4E8B-4423-BE3B-A43DE0C1B3B3} {6700AF61-4E8B-4423-BE3B-A43DE0C1B3B3} + _ StaticArrayInitTypeSize = 24, D + Microsoft.SqlServer.Management.Smo.Server _0, Microsoft.SqlServer.Management.Smo.Database + D_ 0 마이크로 소프트 .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, 버전 = 11.0.0.0, 문화 = 중립, PublicKeyToken = 89 845dcd8080cc91 '또는 해당 종속성 중 하나가 필요합니다. 시스템에서 지정된 파일을 찾을 수 없습니다.

+0

SQL 관리자가 설치된 SQL Express 2008 sp3에서 Win7을 실행 중입니다. – Preston

답변

1

먼저 컴퓨터의 GAC에 SqlEnum dll이 설치되어 있는지 확인합니다. C : \ Windows \ assembly로 이동하여이를 확인할 수 있습니다. 누락 된 것이 있으면 SQL 관리 개체 기능을 복구하거나 다시 설치해야 할 수 있습니다. 또한 설치 한 버전이 MEF가로드하려는 버전과 동일한 지 확인하십시오.

설치 한 경우 Fusion Log Viewer을 사용해보세요. 이것은 find which dlls are failing to load과 dll을로드하는 과정에서 로더가 수행하는 단계를 도울 수 있습니다. 이렇게하면 문제가 발생한 곳을 좁히는 데 도움이됩니다.

+0

SqlEnum DLL은 내가 사용해야 할 곳에 있어야하고 그 도구를 사용하고 내가 무엇을 생각해 낼지를 알아야한다. – Preston

+0

더 많은 담당자가있는 사람이 이것을 표시하여 문제를 해결했습니다. 기본적으로 버전 11.0.0.0을 찾고 있지만 10.0.0.0이 있습니다. 2008 년과 2008 R2의 차이점을 가정하고 업그레이드하고 도움이되는지 확인합니다. – Preston

+1

Verified Fixed 2012 SQL Express는이 문제를 해결했습니다. – Preston

0

나는 어딘가에 참고가 누락되었다고 생각합니다. 나는 코드를 다시 거쳐 "using"문이 모두 있어야하고 어셈블리에 대한 프로젝트의 참조가되도록해야합니다.

+0

내가 말했듯이이 프로그램은 다른 모든 사람들을 위해 실행되기 때문에 코드가 괜찮다고 생각합니다. 나는 누락 된 사용이 그것을 어떻게 일으킬 수 있는지 잘 모르겠습니다. // 코멘트 편집 규칙이 좀 바보 스럽다 – Preston

관련 문제