2009-01-14 21 views

Respuesta

5

En VS, haga clic derecho en su proyecto, selecciona "Agregar referencia ...", y verá todos los espacios de nombres que existen en su GAC . Elija Microsoft.SqlServer.Management.RegisteredServers y haga clic en OK, y usted debe ser bueno para ir

EDIT:

Esa es la forma en que desea hacer esto la mayor parte del tiempo. Sin embargo, después de hurgar un poco encontré this issue en MS Connect. MS dice que es un problema conocido de implementación, y no tienen una solución alternativa. El tipo dice que si copia el dll de la carpeta GAC ​​y lo deja caer en su contenedor, funciona.

+0

¡No está allí por alguna razón! –

+0

En la página que vinculó, ahora (desde el 17 de noviembre de 2010) mencionan que el problema se ha solucionado. –

2

Suponiendo que alredy ha intentado "Agregar referencia ..." como se explicó anteriormente y no tuvo éxito, puede echar un vistazo here. Dicen que hay que cumplir con algunos requisitos previos: - .NET 3.5 SP1 - Windows Installer 4.5

EDIT: De acuerdo con este post se trata de un problema conocido.

Y this podría ser la solución que está buscando :)

11

Registro assmblies en la GAC ​​no es así entonces colocar una referencia al ensamblado en el cuadro de diálogo Agregar referencias. Todavía necesita hacer referencia al conjunto por ruta para su proyecto, la principal diferencia es que no necesita utilizar la opción copiar local, su aplicación lo encontrará en tiempo de ejecución.

En este caso particular, solo necesita hacer referencia a su ensamblaje por ruta (navegar) o si realmente desea tenerlo en el cuadro de diálogo agregar referencia hay una configuración de registro donde puede agregar rutas adicionales.

Tenga en cuenta que si envía su aplicación a alguien que no tiene este ensamblaje instalado deberá enviarlo, y en este caso realmente necesita utilizar el SharedManagementObjects.msi redistribuible.

14

He creado una herramienta que es completamente gratuita, que te ayudará a lograr tu objetivo. Muse VSReferences le permitirá agregar una referencia de caché de ensamblaje global al proyecto desde el elemento de menú Agregar referencia GAC.

Esperanza esto ayuda Muse VSExtensions

+0

¿Hay alguna manera de hacerlo funcionar con Visual Studio Express Edition? –

+2

Solo funciona para VS 2010 aunque ... – Peter

+0

¡¡Gran herramienta !! :) – Nayan

54

Como dijeron los otros, la mayoría de las veces no va a querer hacer eso porque no copia el conjunto a su proyecto y que no se desplegará con su proyecto. Sin embargo, si eres como yo, y tratando de agregar una referencia que todos los equipos de destino tienen en su GAC, pero no es un ensamblado de .NET Framework:

  1. Abra el diálogo ejecutar Windows (tecla de Windows + R)
  2. Tipo C: \ Windows \ assembly \ gac_msil. Este es un tipo de hack extraño que te permite navegar por tu GAC. Solo puede acceder a él a través del diálogo de ejecución. Espero que difundir esta información finalmente no haga que Microsoft lo parchee y lo bloquee. (¿Demasiado paranoico?: P)
  3. Busque su ensamblaje y copie su ruta desde la barra de direcciones.
  4. Abra el cuadro de diálogo Agregar referencia en Visual Studio y elija la pestaña Examinar.
  5. Pegue en el camino al ensamblado de su GAC.

No sé si hay una manera más fácil, pero no la he encontrado. También utilizo frecuentemente el paso 1-3 para colocar archivos .pdb con sus ensamblajes GAC para asegurarme de que no se pierdan cuando más tarde necesite usar Remote Debugger.

+0

Hace poco estuve viendo un video de Channel 9 o algo similar y vi brevemente que la ventana de referencia de agregar del instructor incluía una opción de GAC (no recuerdo exactamente). No sé si fue un complemento casero o si hay alguno disponible. ¿Alguien ha visto esto? – xr280xr

+1

Eche un vistazo a @Muse VS * answer. Funciona bien – pauloya

+1

"GAC_MSIL no se reconoce como comando interno o externo" en Win7 – Rakesh

6

En VS2010, desde la ventana Agregar Reintentos puede hacer clic en 'Examinar' y navegar hasta C: \ Windows \ Assembly y agregar referencias a los ensamblados que desee. Tenga en cuenta que los archivos se pueden agrupar en diferentes carpetas como GAC, GAC_32, GAC_64, GAC_MSIL, etc.

4

La única forma que funcionó para mí, es copiar el dll en su escritorio o algo así, agregarle una referencia, luego elimine el dll de su escritorio. Visual Studio se actualizará y finalmente hará referencia al archivo dll del GAC en sí mismo.

1

Puede que sea demasiado tarde para responder, pero encontré una manera muy simple de hacerlo (sin hack).

  1. poner su DLL en GAC (por 3,5 Arrastrar el interior "C: \ Windows \ assembly \")
  2. GoTo Proyectos -> Propiedades
  3. Haga clic en Curso de referencia (por 3.5 es "C: \ Windows \ assembly \")
  4. y construir

Espero que ayude

Cuestiones relacionadas