C # “Assembly.LoadFile” & disable “DllImport” in caricati di montaggio?
-
16-10-2019 - |
Domanda
In C #, è possibile caricare dynamicaly una libreria .NET in fase di esecuzione con l'utilizzo di qualcosa come System.Reflection.Assembly.LoadFile
e disabilitando la libreria carica di utilizzare [DllImport("someCPP.DLL", EntryPoint ="someFunction")]
in modo che non si può chiamare C ++ roba per motivi di sicurezza ??
La ragione di questa domanda è sto pensando di fare un generico plugin per il browser opensource che potrebbe eseguire alcun codice e display cose NET come OpenGL o Direct3D o qualsiasi contenuto che si desidera nel browser utilizzando .NET. Ciò avrebbe bisogno la libreria caricata .NET per essere però sicuro disabilitando "DllImport" e forse alcune altre cose. È possibile?
Soluzione
È possibile utilizzare un dominio di applicazione con autorizzazioni di protezione limitate.
Ecco un'introduzione generale ai domini applicativi:
E qui è l'autorizzazione specifica relativa a esecuzione di codice non gestito: