¿Por qué el cargador de ensamblaje no está marcando el GAC para un conjunto de modo mixto C ++/CLI?

StackOverflow https://stackoverflow.com/questions/4889972

Pregunta

Tengo un proyecto C# que hace referencia a un ensamblaje de modo mixto C ++/CLI. Ese ensamblaje se almacena dentro de una carpeta en la ruta y también está presente en el GAC, pero cuando se ejecuta obtengo A:

System.io.filenotfoundException: no se pudo cargar archivos o ensamblados 'PCSSocketCommunications500, versión = 0.0.0.0, cultura = neutral, publickeyToken = null'

La versión 0.0.0.0 se debe a que la C ++/CLI no tiene una clase de versión de ensamblaje, pero hasta donde sé, esto no debería ser un problema.

Ejecución de procesos Monitor He visto que el sistema solo busca el ensamblaje en la misma carpeta que el proceso principal ... No soy un experto en la carga del ensamblaje, pero esperaba ver al menos algunas búsquedas GAC y 'tal vez' algunas 'algunas Búsqueda de rutas ... Eso es lo que obtuve (PCSSocketCommunication500.dll es el ensamblaje C ++/CLI y en negro es el directorio de trabajo):

enter image description here

¿Alguna idea de por qué el cargador no está revisando el GAC o el camino?

¿Fue útil?

Solución

PublicKeyToken = nulo

La asamblea no tiene nombre fuerte. Eso significa que no se puede ubicar en el GAC, el CLR no va a mirar allí. No estoy seguro de lo que hizo para obtener en el GAC, pero no debería ser posible.

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