Я получаю исключение MissingMethodException при вызове GetExportedTypes, код:
Assembly.LoadFrom(assemblyPath).GetExportedTypes();
Исключение (имена запутаны):
System.MissingMethodException was unhandled
Message="Method not found: 'Void Namespace.IMyMethod.MyMethod(UInt32, Namespace.IMyOtherMethod ByRef, UInt32 ByRef)'."
Source="mscorlib"
StackTrace:
at System.Reflection.Assembly._GetExportedTypes()
at System.Reflection.Assembly.GetExportedTypes()
at ConsoleApplication1.Program.Main(String[] args) in C:\Documents and Settings\jpealing\My Documents\Visual Studio 2008\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs:line 16
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
Исключение не имеет внутреннего исключения илидругие детали, которые стоит упомянуть.
Что вызывает это?Как я могу это исправить?
Отражатель без проблем загружает эту сборку:
- Он зарегистрирован в GAC
- Он ссылается только на mscorlib.
- Я не собирал сборку - на моей машине есть только 1 версия этой сборки.
Обновление:
Появляется рассматриваемая сборкабыть сборкой, созданной с использованием Tlbexp.exe - похоже, что это что-то меняет.