2010-10-08 7 views
1

Я получаю эту ошибку при запуске приложения .net 2.0 на урезанной XP XP x86 виртуальной машине, даже если среда разработки .net 2.0 уже установлена ​​до установки приложение.FileNotFoundException, вызывается при вызове Assembly.GetExportedTypes()

 
Exception Source:  mscorlib 
Exception Type:  System.IO.FileNotFoundException 
Exception Message:  Could not load file or assembly 'WindowsBase, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified. 
Exception Target Site: GetExportedTypes 

---- Stack Trace ---- 
    System.Reflection.Assembly.GetExportedTypes() 
     XSplit.Core.exe: N 00000 
    XSplit.Core.Capture.ChannelAddinManager.#Dm(As String) 
     XSplit.Core.exe: N 00105 
    XSplit.Core.Capture.ChannelAddinManager.#Cm() 
     XSplit.Core.exe: N 00265 
    XSplit.Core.Capture.ChannelAddinManager.Init(path As String, host As IAddinHost) 
     XSplit.Core.exe: N 00104 
    XSplit.Core.frmLogin.InitializeAddinComponent() 
     XSplit.Core.exe: N 00534 
    XSplit.Core.frmLogin..ctor(args As String[]) 
     XSplit.Core.exe: N 01263 

Соответствующий код, который порождает эту ошибку это

 
var assembly = Assembly.LoadFrom(dllFile); 
var assemblyTypes = assembly.GetExportedTypes(); 

Даже после установки Framework 2.0 sp2, эта ошибка все еще брошен.

Вы, ребята, поняли, почему это так?

ответ

2

Сборник WindowsBase не стал доступен до .NET 3.0. Если вы хотите запустить этот код без исключения, вам нужно будет установить 3.0 на машину, 2.0 недостаточно. Проверьте настройки сборки для проекта надстройки и убедитесь, что они не ссылаются на какие-либо сборки WPF.

+0

Цель сборки - .net 2.0, и ни одна из ссылок, на которые делается ссылка, не является WPF, поэтому мы сбиты с толку относительно того, почему эта ошибка будет выбрана. – sjlewis