Pregunta

Tengo una DLL administrada (escrito en C++/CLI) que contiene una clase utilizada por un C# ejecutable.En el constructor de la clase, que me necesitan para acceder a la ruta de acceso completa del archivo ejecutable referencia a la DLL.En la aplicación real sé que puedo usar el objeto de la Aplicación para hacer esto, pero ¿cómo puedo hacerlo desde una DLL administrada?

¿Fue útil?

Solución

Assembly.GetCallingAssembly()

o

Assembly.GetExecutingAssembly()

o

Assembly.GetEntryAssembly()

Dependiendo de su necesidad.

A continuación, utilice la Ubicación o el Código base de la propiedad (nunca me acuerdo cual).

Otros consejos

@leppie:Gracias - que era el puntero que yo necesitaba.

Para referencia en el futuro, en C++/CLI, esta es la sintaxis que funciona:

String^ appPathString = Assembly::GetEntryAssembly()->Location;

GetExecutingAssembly() proporciona el nombre de la DLL

GetCallingAssembly() devuelve algo como Sistema.Windows.Formas

GetEntryAssembly devuelve la ruta de acceso completa, similar a la GetModulePath() en Win32.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top