Chybová zpráva při spuštění rutiny CLR nebo sestavení serveru SQL Server 2005: "sestavení v úložišti hostitel má jiný podpis než sestavení GAC. (Výjimka-HRESULT: 0x80131050) "

Překlady článku Překlady článku
ID článku: 949080 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Příznaky

Zvažte následující scénáře.

Scénář 1

Vytvoření společné rutina jazyk runtime (CLR), odkazující na Microsoft.Sestavení .NET Framework. Na.Sestavení .NET Framework je v zdokumentovány. Článek 922672 znalostní báze. Poté, instalaci.Rozhraní .NET Framework 3.5 nebo.NET Framework 2.0-based hotfix.

Scénář 2

Vytváření sestavení a pak zaregistrovat sestavení databáze Microsoft SQL Server 2005. Poté, nainstalovat jinou verzi sestavení v globální mezipaměti sestavení (GAC).

Při spuštění rutiny CLR nebo sestavení z jedné z těchto situací v SQL Server 2005, které zobrazit chybová zpráva podobná následující:
Server: Msg 6522, úroveň 16, stav 2, řádek 1
A.NET Framework došlo k chybě při spuštění rutiny definované uživatelem nebo agregace getsid:

System.IO.FileLoadException: Nelze načíst soubor nebo sestavení "System.DirectoryServices, verze 2.0.0.0, Culture = = neutrální, PublicKeyToken = b03f5f7f11d50a3a' nebo jeden z jeho závislosti. Sestavení v hostiteli úložiště má jiný podpis než sestavení v GAC. (Výjimka-HRESULT: 0x80131050)

System.IO.FileLoadException:

Příčina

Po načtení sestavení CLR CLR ověří, zda stejné sestavení v mezipaměti GAC. Pokud je stejné sestavení v mezipaměti GAC, ověří CLR který ID verze modulu (MVIDs) sestavení odpovídat. Pokud MVIDs těchto sestavení neodpovídají, zobrazí chybová zpráva, která "Příznaky" sekce záznamy.

Při sestavení je provedena nová kompilace, MVID z změny v sestavení. Proto pokud aktualizujete.Rozhraní .NET Framework.Sestavení .NET Framework mají různé MVIDs protože tyto sestavení rekompilaci. Navíc Pokud Aktualizovat vlastní sestavení, sestavení provedena nová kompilace. Proto shromáždění má také jiné MVID.

Jak potíže obejít

Řešení 1

Řešení scénář 1 v v části "Příznaky", je nutné ručně aktualizovat .NET Framework sestavení v SQL Server 2005. Chcete-li to provést, použijte ALTER SESTAVENÍ prohlášení bod do nového verze.NET Framework sestavení v následující složky:
%Windir%\Microsoft.NET\Framework\Verze
Poznámka: Verze představuje verze.NET Framework, které nainstalovány nebo aktualizovány.

Řešení 2

Řešení scénář 2 v části "Příznaky" použití ALTER SESTAVENÍ příkaz Aktualizovat v sestavení databáze.

Pokud problém stále přetrvává. Po tomto postupu přetažení sestavení z databáze a pak Zaregistrujte Nová verze sestavení v databázi.

Prohlášení

Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Další informace

Nedoporučujeme používat.NET Framework sestavení, které nebyly zdokumentovány ve znalostní bázi Knowledge Base 922672. Knowledge Založit článek 922672 seznamy sestavení, která jsou testována na serveru SQL Server 2005 Hostitelem CLR prostředí.

Další informace získáte následující článek znalostní báze Microsoft Knowledge Base:
922672Tato zásady podpory aplikace nebyla testována.NET Framework sestavení v prostředí SQL Server 2005 CLR hostitelem

Popis rutiny CLR

Rutiny CLR zahrnout následující objekty, které jsou implementovány pomocí Integrace serveru SQL Server s.NET Framework CLR:
  • Hodnoceno skalární uživatelem definované funkce (skalární UDF)
  • Vyhodnocovaná tabulkou uživatelem definované funkce (TVFs)
  • Uživatelem definované postupy (UDPs)
  • Uživatelem definované aktivačních událostí
  • Uživatelem definované datové typy
  • Uživatelem definované KAMENIVO

Sestavení aktualizace po instalaci.Rozhraní .NET Framework 3.5

Po instalaci.NET Framework 3.5, je nutné použít ZMĚNIT SESTAVENÍ příkaz Aktualizovat následující sestavení:
  • Accessibility.dll
  • AspNetMMCExt.dll
  • Cscompmgd.dll
  • IEExecRemote.dll
  • IEHost.dll
  • IIEHost.dll
  • Microsoft.Build.conversion.dll
  • Microsoft.Build.Engine.dll
  • Microsoft.Build.Framework.dll
  • Microsoft.Build.Tasks.dll
  • Microsoft.Build.Utilities.dll
  • Microsoft.CompactFramework.Build.Tasks.dll
  • Microsoft.JScript.dll
  • Microsoft.VisualBasic.VSA.dll
  • Microsoft.VSA.dll
  • Microsoft.VSA.VB.CodeDOMProcessor.dll
  • Microsoft_VsaVb.dll
  • Sysglobl.dll
  • System.Configuration.Install.dll
  • System.design.dll
  • System.DirectoryServices.dll
  • System.DirectoryServices.Protocols.dll
  • System.Drawing.dll
  • System.Drawing.design.dll
  • System.EnterpriseServices.dll
  • System.Management.dll
  • System.Messaging.dll
  • System.Runtime.Serialization.Formatters.SOAP.dll
  • System.ServiceProcess.dll
  • System.web.dll
  • System.web.Mobile.dll
  • System.web.RegularExpressions.dll
Tyto sestavy jsou v následující složce:
%Windir%\Microsoft.NET\Framework\v2.0.50727

Jak zachovat data z datových typů definovaných uživatelem po přetažení sestavení

Pokud přetáhnete aplikace sestavení, která používá uživatelem definovaný datový typ ze serveru SQL Server 2005, můžete zachovat data pomocí jedné z následujících metod.

Předpokládat, že následující scénář:
  • Vytvořit soubor, jehož název jeMyAssembly.dll.
  • Na MyAssembly sestavení, odkazySystem.DirectoryServices.dll sestavení.
  • Jste uživatelem definovaný datový typ, jehož název jeMyDateTime.
  • Na MyDateTime Typ dat používá MyAssembly.dllsestavení.
  • Vytvoření tabulky, jehož název je tabulka.
  • V tabulce tabulka obsahuje data MyDateTime data typ.

Metoda 1: Použít nástroj bcp.exe

  1. Pomocí nástroje spolu s Bcp.exe –n přepínač pro kopírování data z tabulky tabulka do souboru. Například na příkazovém řádku následující příkaz:
    bcp MyDatabase.dbo.MyTable out C:\MyFile.bcp -n –SSQLServerName  -T
  2. V SQL Server Management Studio, postupujte takto:
    1. Odstranit tabulku tabulka.
    2. Přetáhněte MyDateTime Typ dat.
    3. Přetáhněte System.DirectoryServices.dllsestavení.
    4. Přetáhněte MyAssembly sestavení.
  3. V SQL Server Management Studio, postupujte takto:
    1. Zaregistrujte System.DirectoryServices.dllsestavení.
    2. Zaregistrujte MyAssembly sestavení.
    3. Vytvořit MyDateTime Typ dat.
    4. Vytvořit novou tabulku, která má stejnou strukturu jako tabulky Tabulka, tabulka.
  4. Pomocí nástroje spolu s Bcp.exe –n Přepnout na Importujte data ze souboru do tabulky tabulka. Například na příkazovém řádku následující příkaz:
    bcp MyDatabase.dbo.MyTable in C:\MyFile.bcp -n –SSQLServerName  -T

Metoda 2: Použití vložit … Příkaz SELECT

Předpokládat, MyDateTime Typ dat zabírá 9 bajtů v úložišti.
  1. V systému SQL Server Management Studio vytvořte novou tabulku obsahuje sloupec VARBINARY(9) Typ dat spuštěním následujícího prohlášení:
    CREATE TABLE TempTable (c1 VARBINARY(9))
  2. Spusťte následující příkaz VLOŽIT … VYBRAT prohlášení k naplnění Tabulka tempTable:
    INSERT INTO TempTable SELECT CAST(c1 as VARBINARY(9)) FROM MyTable
  3. V SQL Server Management Studio, postupujte takto:
    1. Odstranit tabulku tabulka.
    2. Přetáhněte MyDateTime Typ dat.
    3. Přetáhněte System.DirectoryServices.dllsestavení.
    4. Přetáhněte MyAssembly sestavení.
  4. V SQL Server Management Studio, postupujte takto:
    1. Zaregistrujte System.DirectoryServices.dllsestavení.
    2. Zaregistrujte MyAssembly sestavení.
    3. Vytvořit MyDateTime Typ dat.
    4. Vytvořit novou tabulku, která má stejnou strukturu jako tabulky Tabulka, tabulka.
  5. Spusťte následující příkaz VLOŽIT … VYBRAT prohlášení k naplnění Tabulka Tabulka:
    INSERT INTO MyTable SELECT c1 FROM TempTable

Odkazy

Další informace o verzi sestavení, naleznete Následující Web společnosti Microsoft Developer Network (MSDN):
http://msdn2.microsoft.com/en-us/library/51ket42z (VS.80) .aspx
Pro Další informace o aktualizaci sestavení, navštivte následující Web služby MSDN Server:
http://msdn2.microsoft.com/en-us/library/ms186711.aspx
Pro Další informace o tom, jak umístit sestavení, navštivte následující Web služby MSDN Server:
http://msdn2.microsoft.com/en-us/library/ms177514.aspx
Pro Další informace o způsobu registrace sestavení v databázi serveru SQL Server 2005 naleznete na následujícím webu MSDN:
http://msdn2.microsoft.com/en-us/library/ms189524.aspx
Pro Další informace o nástroji Bcp.exe naleznete na následujícím webu MSDN:
http://msdn2.microsoft.com/en-us/library/ms162802.aspx

Vlastnosti

ID článku: 949080 - Poslední aktualizace: 22. května 2011 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Klíčová slova: 
kbexpertiseadvanced kbtshoot kbprb kbmt KB949080 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:949080

Dejte nám zpětnou vazbu

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com