2012-09-24 238 views
7

Sé que esta pregunta fue solicitada muchas veces y encontré mucha información en google con respecto a este problema, pero todavía no puedo resolver el problema que existe en mi DEV PC :(
I have that ugly error message on every page (No se pudo cargar el archivo o el ensamblado Microsoft.SqlServer.BatchParser). Instalé Microsoft SQL Server 2005 Management Objects Collection como se aconseja en muchos recursos de Internet, pero no fue de utilidad. Luego intenté instalar Microsoft SQL Server 2008 Management Objects, pero dice que no se puede instalar , ya que existe una versión más nueva (tengo SQL Server 2008 instalado).
Luego fui a GAC ​​y encontré las siguientes líneas:
Microsoft.SqlServer.BatchParser, Version = 10.0.0.0, Culture = neutral, PublicKeyTok en = 89845dcd8080cc91, processorArchitecture = AMD64No se pudo cargar Microsoft.SqlServer.BatchParser o una de sus dependencias

Microsoft.SqlServer.BatchParser, versión = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = AMD64

Microsoft.SqlServer.BatchParser, versión = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = x86

Microsoft.SqlServer.BatchParser, versión = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = x86

Microsoft.SqlServer.BatchParserClient, de Versio n = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91, processorArchitecture = MSIL < - ¿Debería existir la versión 9.0.242.0?

Ya pasé cerca de medio día para encontrar una solución sin éxito, y es muy malo trabajar con VS cuando intellisense no funciona debido a ese error.

tengo VS 2010 SQL Express 2005 y SQL Server 2008 instalado (véase la pantalla de configuración del disparo) enter image description here

por favor me ayude a solucionar este! Gracias.

Respuesta

2

debe recibir este error al ejecutar la aplicación a través de Visual Studio. Tengo este error en el pasado, pero se resolvió después de alguna solución como

1) elimine la referencia no deseada de BatchParser (si existe en web.config).
2) se ha utilizado un dll de terceros que podría estar causando la aplicación a través de este error.
3) Es posible que haya copiado su página aspx de alguna otra página y haya olvidado cambiar la sección "inherts".

+0

1) No encontré ninguna referencia a BatchParser en la solución. 2) Creo que no, pero ¿es posible verificarlo con certeza? 3) Es una solución antigua que contiene proyectos de DB y en algún punto el error comienza a aparecer. –

+0

¿Puede poner un depurador y mostrarnos en qué línea recibió el error? –

+0

Cuando me conecto al proceso, no se producen errores en el sitio. Solo en tiempo de diseño, al editar el marcado ASPX, en la línea de la directiva @Page se muestra subrayado (como un error). Cuando coloco el mouse sobre él, muestra el error BatchParser. No existe error de compilación o errores de tiempo de ejecución. –

3

¿Ve este error en Management Studio o Visual Studio? ¿Cuándo aparece este mensaje de error? El problema podría deberse a una interacción de 32 bit vs 64 bit como se documentó en

956178 Mensaje de error cuando ejecuta una versión de 32 bits de SQL Server 2008 en una versión de Windows basada en Itanium: "El sistema no puede busque el archivo especificado " http://support.microsoft.com/kb/956178/EN-US

Si está utilizando un sistema de 64 bits, asegúrese de haber instalado la versión de 64 bits de los objetos de administración actualizados.

+0

Aparece el error en Visual Studio cuando abro la página ASPX para editarla. En la parte superior del archivo, veo que el mensaje de error y luego intelisence no funcionan. Estoy usando Windows 7 64bit, SQL2008 32Bit, VS2010 32Bit, con CPU Quad Core Q8400. Traté de instalar objetos de administración para sql2008, pero me dice que la versión más reciente ya está instalada. –

+0

Ver https://social.technet.microsoft.com/wiki/contents/articles/35832.sql-server-troubleshooting-could-not-load-file-or-assembly-microsoft-sqlserver-batchparser.aspx Descargar los dos paquetes que recomiendan, para x64, instalan clr primero y luego SharedManagementObjects. – Savage

0

Tuve que ir a la configuración avanzada de mi grupo de aplicaciones y configurar "habilitar las aplicaciones de 32 bits" a TRUE (estaba ejecutando SQL Server de 64 bits).

+0

Tuve el problema opuesto. Revisé "Preferir 32 bits" en las propiedades de compilación de mi aplicación, pero había instalado el SMO de 64 bits. – mhenry1384

3

* NOTA: Esta respuesta es para personas que están utilizando MS SQL SMO (Objetos de administración) desde un programa C#. Estaba luchando con el error mencionado en la pregunta. El error exacto que obtuve fue esta:

No se pudo cargar el archivo o ensamblado 'Microsoft.SqlServer.BatchParser.dll' o una de sus dependencias. Error en la rutina de inicialización de una biblioteca de vínculos dinámicos (DLL) . (Excepción de HRESULT: 0x8007045A)

Terminó siendo un problema con la ejecución de .NET 2.0 en .NET 4.0 (o superior) CLR. Las asambleas de SQL Server SMO se construyen contra v2.0.50727 del tiempo de ejecución y por lo tanto se requiere la siguiente sección en el app.config (o web.config)

<startup useLegacyV2RuntimeActivationPolicy="true"> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 

PS: La pista estaba en this discussion thread en los foros de MSDN.

Cuestiones relacionadas