Cómo poner la DLL compilada en C# en un solo lugar y llamarla con diferentes nombres de dominio en todo el servidor
Utilice el ensamblador global GAC
Acerca de GAC, copie algo para usted:
Gac es la carpeta C:\WINDOWS\assembly, que se llama programa global en chino Establecer caché, coloque el dll en esta carpeta, no es necesario colocar el dll debajo del contenedor, el propósito es compartir al máximo el ensamblaje.
Cómo implementar un sitio web asp.net en Gac
Primero busque el archivo sn.exe en su directorio de instalación de Visual Studio y colóquelo en cmd para ejecutar
sn.exe -k C:\testKey.snk
Esto generará el archivo de clave testKey.snk en el directorio de su unidad C
Luego
VS2003
En [assembly: AssemblyKeyFile("")] en AssemblyInfo.cs del proyecto del sitio web, realice una configuración similar a la siguiente
[assembly: AssemblyKeyFile(@"C: \testKey. snk
")]
Tenga en cuenta que es mejor escribir rutas absolutas aquí, las rutas relativas son difíciles de escribir
Generar sitio web
En este momento el sitio web La dll es un ensamblado con nombre seguro,
Abra el programa---Herramientas administrativas---Configuración de .net framework1.1 (o 2.0)
Mi computadora, caché de ensamblaje, haga clic derecho para agregar y agregue el dll recién generado. Si no hay errores, la adición se realizará correctamente.
En este momento puede eliminar el dll en su directorio bin, pero la página web aún no se puede abrir. Realice las siguientes modificaciones en la compilación webconfig
lt; p> defaultLanguage="c#"
debug="true"
gt;
lt; assembliesgt
lt; ="youDllname, Versión=1.0.2811.20076, Cultura=neutral, PublicKeyToken=c52d31a7559027ce"/gt;
lt;/assembliesgt;
lt;/compilationgt;
En cuanto a cómo escribir el nombre completo del dll detrás del ensamblado, puede usar la herramienta de descompilación Reflector.exe para verificar su dll, o puede encontrar su dll en la configuración de .net framework1.1 (o 2.0) y comprobar las propiedades.
Después de la configuración, la página web debería estar abierta. Si no se puede abrir, reinicie iis
VS2005
Será un poco más problemático después de usted. genere el archivo snk, el primer paso, cuando esté seguro de que el programa del sitio web no se cambiará, haga clic en publicación del sitio web, use nombres fijos y ensamblaje de una sola página en la publicación, y use nombres seguros para el programa precompilado. A continuación, seleccione el archivo snk. Nuevo, seleccione el archivo snk, publique el sitio web.
Luego use el método anterior para agregar el dll en el directorio bin a Gac. En este momento, puede eliminar el dll. en el directorio bin.
Luego configure webconfig de la siguiente manera
lt;configurationgt;bajo nodo
lt;runtimegt;
lt;assemblyBinding xmlns="urn:schemas-microsoft-com :asm .v1"gt;
lt;qualAssembly partName="CE.EIP.CRMBusinessEntities" fullName="CE.EIP.CRMBusinessEntities, Versión=1.0.0.0, Cultura=neutral, PublicKeyToken=C75F352AFF88DAD1"/ gt;
lt;/assemblyBindinggt;
lt;/runtimegt;
El sitio web debería poder ejecutarse en este momento. QualifyAssembly en 2005 es una forma de notificar al tiempo de ejecución que vaya a Gac para buscar el dll
Básicamente, es así, pero es posible que no tenga éxito la primera vez, por lo que debe prestar atención a lo siguiente issues
webconfig Modifíquelo siempre cuando lo implemente. Si lo modifica durante el desarrollo, estará equivocado.
Después de haber configurado todo, debe reiniciar iis. reinicie iis cuando actualice el dll.
Porque al ejecutarlo, primero busca el dll en C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\Temporary ASP.NET Files
El de abajo se llama el archivo raíz. Serie .dll. Debido a que este dll generará un documento xml y el dll está en el GAC, ¿dónde se generará el xml? Por lo tanto, cualquier dll que necesite generar documentos xml no es adecuado para instalarlo (por supuesto que existen soluciones, pero es problemático)