FileNotFoundException gettato quando si chiama Assembly.GetExportedTypes ()
-
28-09-2019 - |
Domanda
sto ottenendo questo errore quando si esegue un'applicazione .NET 2.0 in un basso stripped-XP SP3 x86 macchina virtuale, anche se .net 2.0 runtime quadro è già stato installato prima di installare l'applicazione.
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
Il codice correlato che genera questo errore è presente
var assembly = Assembly.LoadFrom(dllFile); var assemblyTypes = assembly.GetExportedTypes();
Anche dopo l'installazione Framework 2.0 SP2, questo errore è ancora lanciata.
ragazzi avete alcun indizio sul perché questo è?
Soluzione
Il WindowsBase assemblea non è diventato disponibile fino .NET 3.0. Se si desidera eseguire questo codice senza un'eccezione allora avrete bisogno di installare 3,0 sulla macchina, 2.0 non è abbastanza buono. Controllare le impostazioni di generazione per il progetto componente aggiuntivo e fare in modo che esso non fa riferimento qualsiasi assembly WPF.