2010-10-04 38 views
5

Tengo un servicio de tela de aplicación que deseo probar. (http://xxx.cloudapp.net:8081/service.svc).
he creado una aplicación de consola y ha añadido una referencia de servicio para el servicio y tiene el siguiente error:Azure: no se pudo cargar el archivo o ensamblado 'Microsoft.ServiceBus

Could not load file or assembly 'Microsoft.ServiceBus, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

he añadido una referencia a Microsoft.ServiceBus de C: \ Archivos de programa (x86) \ Windows Azure AppFabric plataforma SDK \ V1.0 \ Assemblies \ NET4.0

que establece todos los montajes en mi proyecto de copia local = verdad, como se sugiere aquí: http://msdn.microsoft.com/en-us/library/ee706702.aspx

debida diligencia adicional: me abrió Microsoft.ServiceBus en rojo -reflector de puerta y confirmó que es la versión correcta. Solo por las patadas, también agregué referencias a cada ensamblaje al que se hace referencia en el reflector y establecí todas las referencias para copiar local = verdadero.

¿Alguna otra idea?

... Peter

+0

Es el error que genera el servicio cuando lo llamas o la aplicación de la consola cuando intentas ejecutar ¿eso? – knightpfhor

+0

Se lanza desde la aplicación de la consola cuando intento llamar a uno de los métodos del servicio. –

Respuesta

3

Cuando hace referencia a Microsoft.ServiceBus.dll, hacer referencia a ella desde la ubicación de la instalación, por ejemplo,

C:\Program Files (x86)\Windows Azure platform AppFabric
SDK\V1.0\Assemblies\NET4.0\Microsoft.ServiceBus.dll

... no desde el GAC, y establecer copia local a verdad

Debe hacer esto en lo que implemente en Azure; Microsoft.ServiceBus.dll debe empaquetarse con su proyecto porque no está disponible de forma predeterminada en Azure.

Si enciende el Fiddler, verá un error 500 al llamar al servicio. Esto demuestra que la excepción no está en su aplicación de llamada.

1

DLL ServiceBus no está instalado en cajas Azure

  1. Asegúrese de que su referencia a la especie de montaje copia local
  2. También asegúrese de que usted no tiene referencias al bus de servicio dll en proyectos superiores que NO copian local (este podría ser su problema si ha verificado 1 arriba)

Puede consultar el árbol CSX para y nuestra carpeta de compilación azul para ver si el ensamblaje se está copiando en el paquete final. Eso es mucho más rápido que cargar en azul o iniciar el tejido dev.

Eso debería resolver su problema

+0

Gracias Rajesh por la respuesta. No entendí a qué se refería con que ServiceBus no está instalado en los cuadros de Azure. Tal como lo entendí, no tenía sentido que MS no instalara un dll requerido para Azure en sus propias cajas.Resultó que necesitaba agregarlo al proyecto azure, que se instala en los cuadros azules. –

4

Asegúrese de cambiar el Marco de destino (propiedades del proyecto/pestaña Aplicación) de '.NET Framework 4 Client Profile' a '.NET Framework 4'. Encontré una publicación similar y eso fue lo que me ayudó. Creo que tiene que ver con el hecho de que Microsoft.ServiceBus no es compatible con el perfil de cliente de .NET 4.

+0

+1 Puede confirmar que esto funcionó para mí – SeanCocteau

Cuestiones relacionadas