FileNotFoundException jeté lors de l'appel Assembly.GetExportedTypes ()
-
28-09-2019 - |
Question
Je reçois cette erreur lors de l'exécution d'une application .net 2.0 sur un stripped-down XP SP3 machine virtuelle x86, même si .net 2.0 runtime-cadre a déjà été installé avant d'installer l'application.
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
Le code correspondant qui engendre cette erreur est cette
var assembly = Assembly.LoadFrom(dllFile); var assemblyTypes = assembly.GetExportedTypes();
Même après l'installation de framework 2.0 sp2, cette erreur est toujours levée.
Les gars, ce pas la moindre idée sur pourquoi il en est?
La solution
L'assemblée WindowsBase ne est pas devenu disponible jusqu'à ce que .NET 3.0. Si vous voulez exécuter ce code sans exception, vous devrez installer 3.0 sur la machine, 2.0 n'est pas assez bon. Vérifiez les paramètres de construction pour le complément projet et assurez-vous qu'il ne fait pas référence à des ensembles de WPF.