Cómo registrar un ensamblado no de nombre seguro para ser cargado como si fuera en el GAC?

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

  •  21-09-2019
  •  | 
  •  

Pregunta

Uno de nuestros socios nos proporcionó una asamblea tenemos que acceder desde nuestra aplicación. Por desgracia, esto no es de nombre seguro así que no podemos instalarlo en el GAC. Y no podemos colocarlo en el mismo lugar que nuestro ejecutable.

¿Hay una solución para esto?

EDIT:. Esta será una solución temporal sólo para la prueba, cuando van RC, tendremos un ensamblado con nombre

¿Fue útil?

Solución

Usted tiene algunas opciones en ese punto.

La primera consiste en colocar el conjunto en un directorio que tiene el nombre de la del conjunto (sin la extensión), que es un subdirectorio del directorio de la aplicación .

El segundo es para especificar el subdirectorio desea que el CLR para sondear las referencias en el archivo app.config utilizando el sondeo elemento .

Por último, se puede cargar el ensamblado de forma dinámica utilizando los diversos rel="noreferrer"> carga , pero yo diría que es un muy mala idea en este caso, dado que tiene la asamblea, y tiene tipos de hormigón que desea utilizar en ella. Tarde el tiempo de carga de montaje como éste se suele utilizar cuando se quiere subsitute la aplicación de ciertas abstracciones, lo que no parece ser el caso aquí.

Otros consejos

Sin embargo, otra solución es añadir lo siguiente al archivo machine.config:

<runtime>
  <developmentMode developerInstallation="true"/>  
</runtime>

Y añadir DEVPATH = ruta de acceso a las variables de entorno del sistema.

El mejor y más directo solución a firmar y registrar un ensamblado que encontré fue aquí: http: // codeingaddiction. blogspot.com/2011/06/how-to-add-strong-name-to-existing-dll_16.html

Para mí, para conseguir que esto funcione fácilmente que CD'd a algún directorio como C: \ temp - esto parecía funcionar mucho mejor para mí, probablemente debido a ser más accesible en un lugar como que los permisos de archivos

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