Firmar un ensamblado

11/01/2006 - 14:03 por AOG | Informe spam
Hola, tengo un proyecto en VB 2005 con arquitectura distribuida, la parte de
negocio la voy a esponer en COM+ ya que utilizo EnterpriseServices para usar
ObjectPooling y JustInTimeActivation.
Entoces tengo que firmar los ensamblados con un nombre seguro para
exponerlos en servicios COM+, hasta aquí sin problemas, he hecho el Imports
System.EnterpriseServices y he añadido <Assembly:
ApplicationName("MiServicioApp")>
<Assembly: Description("MiServicioApp - servicios acceso a datos")>
<Assembly: AssemblyKeyFile("C:\MiProyecto\MiArchivo.snk")> en el archivo
AssemblyInfo.vb de cada ensamblado de mi proyecto.
El problema que me ocurre es que tengo una referencia al ensamblado
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll (para controlar
las excepciones que se proboca en la distintas capas y poder exponerlas en la
capa de interfaz del usuario).
El problema es que me da un error a compilar mi proyecto, y me dice:
Unable to emit assembly: Referenced assembly
'Microsoft.Practices.EnterpriseLibrary.ExceptionHandling' does not have a
strong name
¿como puedo firmar dicho ensamblado?.
Ha instalar Microsoft Practices EnterpriseLibrary te deja el fuente en C#,
he intentado hacerlo añadiendo las mismas líneas en el archivo en el archivo
AssemblyInfo.cs pero me da un error que me dice que lo intente con /filekey
lo he intentado con al.exe y tlbimp.exe pero no me deja me dice que el
fichero entrada no valido, esto es lo que hago:
al.exe Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll
/out:c:\otraruta\Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll
/keyfile:C:\MiProyecto\MiArchivo.snk

Supongo que no lo hago bien.
Alguien me podría ayudar, como puedo solucionar esto, o si hay otro modo de
firmar.
Un saludo.

Preguntas similare

Leer las respuestas

#6 AOG
12/01/2006 - 14:36 | Informe spam
Hola de nuevo,
¡¡YA LO HE CONSEGUIDO!!

Muchas gracias, el problema estaba que también hay que asignado el archivo
.snk como tú me has dicho a los proyectos ExceptionHandling,
ExceptionHandling.Logging y Logging.
He compilado toda la solucion, luego he ejecutado los bat's antes comentado
y despues en mi proyecto he hecho la referencia a la nueva dll
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.dll y me ha dejado
compilar mi proyecto sin ningún problema.
Luego me daba un error que no podia registrar Servicios Componentes Com+
pues la capa de interfaz de usuario (IU) accede a la capa de negocio a través
de un Servico Web y ASP .net por lo que se ve no tiene permisos para
registrolo, lo que he hecho es acceder directamente a la capa de negocio
(referencia a las dll's) desde IU y a ejecutar la aplicación y a acceder a un
metodo de una clase de la capa de negocio me lo ha registrado
automáticamente.

Una pregunta más, yo soy nuevo en la plataforma net, y nunca he utilizado
los servicio com+, estoy desarrollando todo esto en la misma maquina, supongo
que los servicios com+ solo se instala en la maquina servidor donde está el
servicio web y la capa de negocio, o por lo contrario hay que instalarlos en
todas las máquinas del cliente donde está solo el IU.
Es que todo esto lo veo un poco asbtracto pues vengo de desarrollar con VB
5.0 y tengo que pasar un proyecto (Facturacion) a esta plataforma y SQLServer
como BB DD. Puesto que la aplicación resultante va hacer utilizado por
"muchos" usuarios a la vez sobre 60. Buscando información me aconsejan
utilizar ObjectPooling, JustInTimeActivation, Transacciones... ya que en
nuestro proyecto actual en VB 5.0 no contempla esto, ya tenemos probleas en
algunos cliente por el incremento de usuarios utilizando nuestra aplicación
ya que utilizamos MDB como base de datos, tú ya sabes bloqueos, roturas de
base de datos, etc.

Tú me aconsejas utilizar dicha libreria ObjectPooling, JustInTimeActivation
o no sería necesario. Y que es lo que tendría que tener encuenta en mi
proyecto pues estoy empezando el proyecto y aun estoy atiempo para hacer
modificaciones.

De todas maneras te doy de nuevo mil gracias por tu gran ayuda, ya que me
había quedado atascado en esta cuestión.

Un saludo,
Antonio Ortega

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida