Perché GetAssemblyName MsCorlib lancia un'eccezione?
-
29-10-2019 - |
Domanda
Avere un'app .NET 4 WinForms. Quando provo a fare quanto segue: getAssemblyName (@"C: Windows Assembly NativeMages_v4.0.30319_64 mscorlib e0e5fbe72e88813a135fc878ff32b4bee mscorlib.ni.dll");
Ricevo la famosa eccezione "formato errato". Cosa mi manca qui?
Grazie!
Soluzione
Come dice il nome della cartella, MSCORLIB.NI.DLL è un'immagine nativa. È il codice .NET compilato nel codice della macchina nativa, quindi non è più un gruppo .NET e quindi non è possibile utilizzare la riflessione su di esso. Perché stai cercando di farlo? Il percorso viene utilizzato internamente dal runtime .NET.
EDIT: se si incontra un tale modulo, dovrai gestire le informazioni sull'eccezione e ritirare in modo diverso sul modulo. O stai solo con il nome del file, oppure usi altre API, come System.Diagnostics.fileversionInfo.getVeversionInfo per ritirare le informazioni.