FileNotFoundException выдается при вызове Assembly.GetExportedTypes () - PullRequest
1 голос
/ 08 октября 2010

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

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 эта ошибка все равно выдается.

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

1 Ответ

2 голосов
/ 08 октября 2010

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

...