Pergunta

Eu tenho o código que usa Microsoft.SqlServer.Management.Smo. (Construído em Visual Studio 2005 SP1) Ele funciona muito bem no SQL 2000 e SQL 2005 máquina. Mas quando ele é executado em SQL máquina de 2008, lança uma exceção:

System.IO.FileNotFoundException: não foi possível carregar arquivo ou assembly 'Microsoft.SqlServer.Smo, versão = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado. O nome do arquivo: 'Microsoft.SqlServer.Smo, versão = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91'

=== LOG: Esta ligação começa no contexto de carga padrão. LOG: No arquivo de configuração do aplicativo encontrados. LOG: Usando arquivo de configuração de máquina de C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ config \ machine.config. LOG: Referência de Pós-política: Microsoft.SqlServer.Smo, versão = 9.0.242.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91 LOG: tentativa de download do novo arquivo URL: /// C: / Documents and Settings / Automação / Desktop / Debug / Microsoft.SQLServer.smo.dll. LOG: tentativa de download do novo arquivo URL: /// C: / Documents and Settings / Automação / Desktop / Debug / Microsoft.SqlServer.Smo / Microsoft.SQLServer.smo.dll. LOG: tentativa de download do novo arquivo URL: /// C: / Documents and Settings / Automação / Desktop / Debug / Microsoft.SqlServer.Smo.EXE. LOG: tentativa de download do novo arquivo URL: /// C:. / Documents and Settings / Automação / Desktop / Debug / Microsoft.SqlServer.Smo / Microsoft.SqlServer.Smo.EXE

Eu instalei o SQL 2005 Backwards pacote de compatibilidade (atualizado para SQL 2008) e SQL Management Objects (Atualizado para SQL 2008)

Todas as sugestões.

i passou por SQL Server SMO reclama da falta de DLL mas não muito de uma ajuda.

Foi útil?

Solução

Eu encontrei o problema. Eu estava construindo o projeto com referências a SQL 2005 SDK DLLs. Tirei todas as referências e acrescentou as referências novamente (agora apontando para SQL 2008 dlls ver post: http://msdn.microsoft.com/en-us/library/ms162129.aspx ) para uma lista de referências para adicionar. Além disso, as necessidades da máquina alvo ter o Microsoft SQL Server 2005 Backward componentes de compatibilidade e Microsoft SQL Server 2008 Management Objects & Tipos SQL Server System CLR (2008) instalado.

Outras dicas

Dê uma olhada na seção de Microsoft SQL Server 2008 Feature pack, abril de 2009 (certifique-se de ter o SQL Server 2008 Service pack 1 instalado)

Não sei se isso foi resolvido, mas parece que o poster original tinha o "Specific Version" conjunto de propriedades como "True" para a dll.

Para corrigir isso, selecione a referência na pasta Referências e defina a propriedade "Specific Version" para true.

Microsoft fez mover algumas funcionalidades para Microsoft.SMO.Extended, mas isso é uma questão separada

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top