Instalace sestavení do globální mezipaměti sestavení v aplikaci Visual C#

Překlady článku Překlady článku
ID článku: 815808 - 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

Souhrn

Tento článek popisuje, jak vygenerovat silné název sestavení a jak nainstalovat soubor DLL v Global Assembly Cache (GAC). S GAC můžete sdílet sestavení v mnoha aplikacích. Je GAC. automaticky nainstalován s.NET runtime. Komponenty jsou obvykle uloženy. v C:\WINNT\Assembly.

Chcete-li instalaci sestavení v mezipaměti GAC, musíte dát sestavení silným názvem. Název je kryptografický klíč algoritmu hash nebo podpis. Tento silný název zajišťuje správné součásti verzí. To pomůže zabránit součásti, které mají stejný název v konfliktu s sebou nebo z nesprávně používá náročné aplikace.


Požadavky

Následující seznam obsahuje doporučený hardware, software, síťovou infrastrukturu a požadované aktualizace service Pack:
  • Práva správce k počítači, kde sdílená Probíhá instalace sestavení

Tento článek předpokládá, že jste obeznámeni s Následující témata:
  • Obecná znalost sestavení v.NET.
  • Obecná znalost nástroje příkazového řádku.

Globální mezipaměť sestavení

Vytvoření malé knihovny tříd projektu pomocí aplikace Visual Studio, generování silných názvů a při instalaci souboru DLL projektu v GAC, postupujte takto:
  1. V aplikaci Visual Studio vytvoření nové Visual C# třídy Knihovní projekt a název projektuGACDemo.
  2. Je nutné použít silný název. Generovat tomto kryptografické dvojice klíčů, použijte nástroj SN. Tento nástroj je umístěn v podadresáři \bin kde na.NET Framework řešení Developer Kit (SDK) je nainstalován. Je nástroj SN snadno použitelné. Trvá-li následující příkaz z příkazového řádku
    sn -k "[DriveLetter]:\[DirectoryToPlaceKey]\[KeyName].snk"
    Poznámka: V aplikaci Visual Studio 2005 a novější verze aplikace Visual Studio můžete vygenerovat klíč a podepsat v sestavení vlastnosti projektu IDE. Potom můžete přeskočit krok 3 a 4 a také přeskočit provádět žádné změny kódu v souboru AssemblyInfo.cs.

    Chcete-li vygenerovat klíč a podepsat v sestavení použít vlastnosti projektu IDE, postupujte takto:
    1. V aplikaci Solution Explorer klepněte pravým tlačítkem myši GACDemoa klepněte na tlačítko Vlastnosti.
    2. Klepněte Podepisování kartu a poté klepnutím vyberte Podepsání sestavení Zaškrtávací políčko.
    3. V Zvolte klíče silného názvu. Klepněte na položku <new...></new...>.
    4. Typ GACkey.snk jako název souboru klíče, zrušte zaškrtnutí Chránit klíče souboru s heslem Zaškrtněte políčko a klepněte na tlačítko OK.
    5. Stiskněte kombinaci kláves CTRL + SHIFT + B ke kompilaci projektu.
    Po provedení těchto kroků stále postupujte krok 5 instalace vašeho sestavení v mezipaměti GAC.
  3. Vytvořit adresář GACKey v C:\, takže můžete snadno vyhledejte klíč a získat přístup ke klíči na příkazovém řádku.

    Poznámka: Pro většinu uživatelů.NET nástroje, které jsou umístěny ve složce C:\Program Files\Microsoft.NET\FrameworkSDK\Bin. Dříve, zadejte následující příkaz SN, můžete chtít kopírovat tento podobné cesty v počítači.NET přihrádky adresář. Typ CD na příkazovém řádku klepněte pravým tlačítkem myši Vložit cestu a potom stiskněte klávesu ENTER můžete rychle změnit adresář kde je umístěn nástroj SN.

    Zadejte následující příkaz:
    sn -k "C:\GACKey\GACkey.snk"
  4. Klíč je generován, ale ještě není přidružené sestavení projektu. Chcete-li vytvořit toto přidružení, poklepejte AssemblyInfo.cs soubor v aplikaci Visual Studio.Průzkumník řešení NET. Tento soubor má seznam atributů sestavení, které jsou zahrnuty ve výchozím nastavení, pokud je projekt vytvořen v aplikaci Visual Studio.NET. Změnit AssemblyKeyFilesestavení atributu v kódu:
    [sestavení: AssemblyKeyFile("C:\\GACKey\\GACKey.snk")]
    Kompilace projektu klepnutím na tlačítko CTRL + SHIFT + B. Není nutné Máte žádné další kód v modulu GAC nainstalujte soubor DLL.
  5. Soubor .dll můžete nainstalovat pomocí nástroje Gacutil nebo přetažením souboru DLL do příslušné složky. Používáte-li Gacutil nástroj, můžete použít příkaz podobný následujícímu:
    Gacutil-I "[DriveLetter]:\[PathToBinDirectoryInVSProject]\gac.dll"
    Chcete-li přetáhnout soubor, otevřít dvě instance programu Průzkumník Windows. V jedné instanci najít umístění výstupní soubor DLL projektu konzoly. Najít v jiné instanci, c:\[systemroot]\Assembly. Přetáhněte soubor DLLSestavení složka.

Úplný výpis kódu (AssemblyInfo.cs)

using System.Reflection;
using System.Runtime.CompilerServices;

//
// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// that is associated with an assembly.
//
[assembly: AssemblyTitle("")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("")]
[assembly: AssemblyCopyright("")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

//
// Version information for an assembly is made up of the following four values:
//
//      Major Version
//      Minor Version 
//      Build Number
//      Revision
//
// You can specify all the values, or you can default the revision and build numbers 
// by using the '*' as shown below:

[assembly: AssemblyVersion("1.0.*")]

//
// To sign your assembly you must specify a key to use. See the 
// Microsoft .NET Framework documentation for more information about assembly signing.
//
// Use the following attributes to control that key is used for signing. 
//
// Notes: 
//   (*) If no key is specified, the assembly is not signed.
//   (*) KeyName refers to a key that has been installed in the Crypto Service
//       Provider (CSP) on your computer. KeyFile refers to a file that contains
//       a key.
//   (*) If the KeyFile and the KeyName values are both specified, the 
//       following processing occurs:
//       (1) If the KeyName can be found in the CSP, that key is used.
//       (2) If the KeyName does not exist and the KeyFile does exist, the key 
//           in the KeyFile is installed to the CSP and used.
//   (*) To create a KeyFile, you can use the sn.exe (Strong Name) utility.
//       When specifying the KeyFile, the location of the KeyFile must be
//       relative to the project output directory which is
//       %Project Directory%\obj\<configuration>. For example, if your KeyFile is
//       located in the project directory, you would specify the AssemblyKeyFile 
//       attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
//   (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
//       documentation for more information about this.
//
[assembly: AssemblyDelaySign(false)]
[assembly: AssemblyKeyFile("C:\\GACKey\\GACKey.snk")]
[assembly: AssemblyKeyName("")]

Ověření

  1. Spusťte program Průzkumník Windows.
  2. Vyhledejte C:\SystemRoot\ sestavení.
  3. Viz GACDemo v seznamu nainstalovaných dll soubory.

Odkazy

Další informace naleznete na následujících webech společnosti Microsoft:
Instalace sestavení do globální mezipaměti sestavení
http://msdn2.microsoft.com/en-us/library/dkkx7f79 (vs.71) .aspx
Globální mezipaměť sestavení
http://msdn2.microsoft.com/en-us/library/yf1d93sz (vs.71) .aspx
Nástroj pro globální mezipaměti sestavení
http://msdn2.microsoft.com/en-us/library/ex0ss12c (vs.71) .aspx

Vlastnosti

ID článku: 815808 - Poslední aktualizace: 20. května 2011 - Revize: 5.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Visual C# 2008 Express Edition
  • Microsoft Visual C# 2005 Express Edition
  • Microsoft Visual C# .NET 2003 Standard Edition
  • Microsoft ASP.NET 1.0
  • Microsoft ASP.NET 1.1
Klíčová slova: 
kbcodesign kbcommandline kbnamespace kbhowtomaster kbmt KB815808 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:815808

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