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

#1 Anonimo
11/01/2006 - 14:42 | Informe spam
Respuesta Responder a este mensaje
#2 José Escrich
11/01/2006 - 15:22 | Informe spam
hablamos de entlib 2.0... recuerda que tienes que firmar objectbuilder y
common.
si no es esto volve a chiflar.. que vemos que puede ser

saludos.

José Escrich
jescrich (a) gmail.com
http://latincoder.com

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

"José Escrich" escribió:

hablamos de entlib 2.0... recuerda que tienes que firmar objectbuilder y
common.
si no es esto volve a chiflar.. que vemos que puede ser

saludos.

José Escrich
jescrich (a) gmail.com
http://latincoder.com

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



Respuesta Responder a este mensaje
#4 AOG
11/01/2006 - 17:58 | Informe spam
...lo he probado y me da un erro, lo que he hecho es añadir en el fichero
AssemblyInfo.cs del proyecto ObjectBuilder estas líneas:

//' Enterprise Services attributes
using System.EnterpriseServices;
[assembly: ApplicationName("Microsof_Practices")]
[assembly: Description("Aplicacion servicios acceso a datos")]
[assembly: AssemblyKeyFile(@"C:\MiProyecto\MiArchivo.snk")]

Los errores que me muestra son:
Error 1 Warning as Error: Use command line option '/keyfile' or appropriate
project settings instead of 'AssemblyKeyFile' C:\Archivos de
programa\Microsoft Enterprise Library November
2005\Src\ObjectBuilder\Properties\AssemblyInfo.cs 26 12 ObjectBuilder


Error 2 Assembly signing failed; output may not be signed -- Unknown error
(80131420) ObjectBuilder

Previamente he incluido la referencia en referencias del proyecto la
libreria System.EnterpriseServices.
Bueno, he intentado firmar primero el proyecto Common y se lo ha "tragado",
digo entre comillas porque no me ha dejado compilar porque me da un error
pero medice que debo firmar antes ObjectBuilder, pero ha hacerlo no me deja
ya que me muestra los errores antes comentado. he añadido las mismas líneas
en Common que en ObjectBuilder.
¿Que estoy haciendo mal?, ¿es que se ha de firmar de otra manera?
Un saludo.
Respuesta Responder a este mensaje
#5 AOG
12/01/2006 - 10:11 | Informe spam
Hola José,
He hecho lo que me has indicado y me ha compilado sin ningún problema, he
ejecutado los bat's, en este orden: BuildLibrary.bar, CopyAssemblies.bar y
InstallServices.bat

Me he hido al mi solución y a compilar me sigue diciendo:
Error 2 Unable to emit assembly: Referenced assembly
'Microsoft.Practices.EnterpriseLibrary.ExceptionHandling' does not have a
strong name

Esto quiere decir que sigue si está firmado el ensamblador.
¿Me he saltado o no he hecho algo bien?





"José Escrich" escribió:

sigue estos pasos, quita lo que pusiste de [assembly... etc.
ve a las propiedades del proyecto objectbuilder y common y en la solapa sign,
especificale el .snk que vas a utilizar
luego dale build, sino te sale me avisas y te hago un screen cam

José Escrich
jescrich (a) gmail.com
http://latincoder.com

A> ...lo he probado y me da un erro, lo que he hecho es añadir en el
A> fichero AssemblyInfo.cs del proyecto ObjectBuilder estas líneas:
A>
A> //' Enterprise Services attributes
A> using System.EnterpriseServices;
A> [assembly: ApplicationName("Microsof_Practices")]
A> [assembly: Description("Aplicacion servicios acceso a datos")]
A> [assembly: AssemblyKeyFile(@"C:\MiProyecto\MiArchivo.snk")]
A> Los errores que me muestra son:
A> Error 1 Warning as Error: Use command line option '/keyfile' or
A> appropriate
A> project settings instead of 'AssemblyKeyFile' C:\Archivos de
A> programa\Microsoft Enterprise Library November
A> 2005\Src\ObjectBuilder\Properties\AssemblyInfo.cs 26 12 ObjectBuilder
A> Error 2 Assembly signing failed; output may not be signed -- Unknown
A> error (80131420) ObjectBuilder
A>
A> Previamente he incluido la referencia en referencias del proyecto la
A> libreria System.EnterpriseServices.
A> Bueno, he intentado firmar primero el proyecto Common y se lo ha
A> "tragado",
A> digo entre comillas porque no me ha dejado compilar porque me da un
A> error
A> pero medice que debo firmar antes ObjectBuilder, pero ha hacerlo no
A> me deja
A> ya que me muestra los errores antes comentado. he añadido las mismas
A> líneas
A> en Common que en ObjectBuilder.
A> ¿Que estoy haciendo mal?, ¿es que se ha de firmar de otra manera?
A> Un saludo.



Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida