Jak upgradovat nebo snížit verzi sestavení, která má odkazované sestavení CLR objektu v instanci serveru SQL Server 2005

Chyba č: 490 (SQL Hotfix)

Souhrn

Při pokusu o upgrade nebo snížit verzi sestavení společného jazyka runtime (CLR) objektu v instanci Microsoft SQL Server 2005 verze odkazovaná sestavení v metadatech sestavení nelze změnit. Navíc pokud používáte sestavení se silným názvem objektu CLR, není možné snížit sestavení pomocí příkazu ALTER sestavení.

ÚVOD

Tento článek popisuje, jak upgradovat nebo snížit verzi sestavení, která má odkazované sestavení CLR objektu v instanci serveru SQL Server 2005.

Další informace

Jak upgradovat nebo snížit verzi sestavení

V SQL Server 2005 můžete použít příkaz ALTER sestavení upgradu nebo snížit verzi sestavení samostatné, která nebyla vytvořena pomocí silného názvu. Pro sestavení se silným názvem můžete upgradovat, ale nelze snížit verzi sestavení pomocí příkazu ALTER sestavení.

Nelze upgradovat nebo snížit verzi sestavení v následujících situacích:

  • Sestavení A je vytvořeno pro CLR objektu v instanci. Sestavení A má odkazované sestavení. Odkazované sestavení je sestavení B.

  • Sestavení B má žádné odkazované sestavení.

  • Překompilovat sestavení A Chcete-li odkazovat na jinou verzi sestavení B.

V tomto scénáři můžete použít příkaz ALTER sestavení upgradu sestavení B na novou verzi. Pokud sestavení B není sestavení se silným názvem, můžete také snížit verzi sestavení B na staré verzi. Však nelze použít příkaz ALTER sestavení upgradu nebo snížit verzi sestavení A Rekompilované verze.

K tomuto chování dochází, protože SQL Server vytvoří zásadu fusion CLR při vytváření sestavení A. Tato zásada fusion CLR automaticky mapuje verzi sestavení B v metadatech A aktuální verzi sestavení B. SQL Server načte novou verzi sestavení B v době běhu při upgradu nebo snížit verzi sestavení B některé další verzi sestavení. K tomuto chování dochází, i když sestavení A odkazuje na původní verzi sestavení B. Však při pokusu o upgrade nebo snížit verzi sestavení A sestavení obsahuje novou verzi sestavení B v metadatech, příkazu ALTER sestavení se nezdaří a zobrazí chybové zprávy podobné následujícím:

Chybová zpráva 1

Msg 6529, úroveň 16 stav 1, řádek 1

ALTER sestavení se nezdařilo, protože identita odkazované sestavení "RefAsm" byl změněn. Zkontrolujte, zda že nedošlo ke změně verze, název a veřejný klíč.

Chybová zpráva 2

Msg 6282, úroveň 16 stav 1, řádek 1

ALTER sestavení se nezdařilo, protože by změna odkazovaná sestavení. Odkazované sestavení seznamu musí zůstat stejné.

Upgrade nebo snížit verzi sestavení

Poznámky

  • Postup upgradu nebo snížit verzi sestavení A v situaci, která byla popsána v části "Jak upgradovat nebo snížit verzi sestavení".

  • Tento příklad předpokládá, že jsou dané dvě sestavení verze 1.0.0.0 a sestavení jsou napsány v jazyce C#. Po provedení těchto kroků, zkuste upgradovat na verzi 2.0.0.0 sestavení A a B sestavení.

Chcete-li upgradovat nebo snížit verzi sestavení A, postupujte takto.

  1. Zálohování do složky sestavení B verze 1.0.0.0.

  2. Upravit a poté znovu zkompilujte sestavení B verze 2.0.0.0.

  3. Pomocí příkazu ALTER sestavení upgradu sestavení B na serveru SQL Server 2005.

  4. Upravit a poté znovu zkompilujte sestavení A verzi 2.0.0.0. Když provedete, odkaz na verzi 1.0.0.0 sestavení B ze zálohy, kterou jste vytvořili v kroku 1. Chcete-li to provést, použijte nástroj Csc.exe kompilátor přepínače/Reference . Například použijte následující příkaz:

    / target: library CSC/out:AssemblyAdll AssemblyA.cs AssemblyInfo.cs/reference: "BackupFolder\AssemblyBdll"Poznámka: Chcete-li ověřit verzi v metadatech sestavení A sestavení B, otevřete pomocí nástroje Ildasm.exe A sestavení. Ověřte informace metadat pro odkazované sestavení v části MANIFEST .

  5. Pomocí příkazu ALTER sestavení upgradu sestavení A SQL Server 2005.

Jak snížit verzi sestavení se silným názvem

Pokud používáte sestavení se silným názvem objektu CLR, SQL Server 2005 nepodporuje použití příkazu ALTER sestavení snížit verzi sestavení. Pokud se pokusíte omezit verze sestavení pomocí příkazu ALTER sestavení, zobrazí se chybová zpráva podobná následující:

Msg 6579, úroveň 16 stav 1, řádek 1
ALTER sestavení z "Asm1, verze = 1.1.0.0, jazykovou verzi = neutral, publickeytoken = 3a52b896cff0513d prvek processorarchitecture = msil" na "Asm1, verze = 1.0.0.0 culture = neutral, publickeytoken = 3a52b896cff0513d prvek processorarchitecture = msil" není kompatibilní inovaci.

Pokud chcete snížit verzi sestavení se silným názvem, postupujte takto:

  1. Odstranit všechny objekty, které závisí na sestavení.

  2. Umístíte novější verzi sestavení.

  3. Vytvořte starší verzi sestavení.

  4. Vytvořte všechny požadované objekty, které závisí na sestavení.

Poznámka: Můžete upgradovat sestavení se silným názvem pomocí příkazu ALTER sestavení. Nicméně pokud inovace vyžaduje odkazované sestavení, postupujte podle stejných kroků, které jsou uvedeny v části "Upgrade nebo downgrade sestavení".

Odkazy

Další informace o příkazu ALTER sestavení naleznete následujícím webu Microsoft Developer Network (MSDN):

http://msdn2.microsoft.com/en-us/library/ms186711.aspxDalší informace o nástroji Ildasm.exe naleznete na následujícím webu MSDN:

http://msdn2.microsoft.com/en-us/library/aa309387(VS.71).aspx

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×