Bagaimana menginstal Majelis ke Cache perakitan Global di Visual C#

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 815808 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

RINGKASAN

Artikel ini menjelaskan cara untuk menghasilkan nama yang kuat untuk Majelis, dan cara menginstal berkas .dll dalam Cache perakitan Global (GAC). Dengan GAC, Anda dapat berbagi Majelis di banyak aplikasi. GAC adalah secara otomatis diinstal dengan.NET runtime. Komponen biasanya disimpan di C:\WINNT\Assembly.

Untuk menginstal sebuah Majelis dalam GAC, Anda harus memberi Majelis nama yang kuat. Nama adalah kunci hash kriptografi, atau tanda tangan. Nama ini kuat menjamin benar komponen versi. Ini membantu mencegah komponen yang memiliki nama yang sama dari bertentangan dengan satu sama lain, atau dari salah digunakan oleh aplikasi yang memakan.


Persyaratan

Daftar berikut menguraikan fitur perangkat keras, perangkat lunak, jaringan infrastruktur, dan paket layanan yang diperlukan:
  • Hak administrator ke komputer di mana bersama Majelis yang diinstal

Artikel ini mengasumsikan bahwa Anda sudah familiar dengan topik-topik berikut:
  • Umum keakraban dengan Majelis di.NET.
  • Umum keakraban dengan menggunakan alat-alat di prompt perintah.

Global Majelis Cache

Untuk menciptakan proyek perpustakaan kelas kecil dengan menggunakan Visual Studio, menghasilkan nama yang kuat, dan menginstal berkas .dll proyek di GAC, ikuti langkah berikut:
  1. Dalam Visual Studio, menciptakan Visual C# kelas baru Proyek Perpustakaan, dan nama proyekGACDemo.
  2. Anda harus menggunakan nama yang kuat. Untuk menghasilkan ini kriptografi kunci pasangan, menggunakan alat SN. Alat ini terletak di \bin subdirektori di mana The.NET Framework solusi pengembang Kit (SDK) diinstal. Alat SN mudah digunakan. Pernyataan baris perintah mengambil berikut
    SN -k "[DriveLetter]:\[DirectoryToPlaceKey]\[KeyName].snk"
    Catatan Pada Visual Studio 2005 dan versi Visual Studio, Anda dapat menggunakan properti proyek IDE untuk menghasilkan sepasang kunci dan menandatangani Anda Majelis. Kemudian, Anda dapat melewatkan langkah 3 dan langkah 4 dan juga melewatkan membuat perubahan kode untuk berkas AssemblyInfo.cs.

    Menggunakan properti proyek IDE untuk menghasilkan sepasang kunci dan menandatangani perakitan Anda, ikuti langkah berikut:
    1. Dalam solusi Explorer, klik kanan GACDemo, lalu klik Properti.
    2. Klik Penandatanganan tab, dan kemudian klik untuk memilih Menandatangani Majelis kotak centang.
    3. Dalam Memilih kunci nama kuat Daftar, klik <new...></new...>.
    4. Jenis GACkey.snk sebagai nama file kunci, klik untuk mengosongkan Melindungi file saya kunci dengan password Periksa kotak, dan kemudian klik Oke.
    5. Tekan CTRL + SHIFT + B untuk mengkompilasi proyek.
    Setelah Anda mengikuti langkah-langkah ini, Anda harus mengikuti langkah 5 untuk menginstal Anda berkumpul di GAC.
  3. Membuat sebuah direktori yang dinamakan GACKey dalam C: \ sehingga Anda dapat dengan mudah menemukan kunci, dan mengakses kunci pada prompt perintah.

    Catatan Untuk kebanyakan pengguna,.NET alat terletak di c: Files\Microsoft.NET\FrameworkSDK\Bin. Sebelum Anda mengetik perintah SN berikut, Anda mungkin ingin menyalin jalan ini mirip pada komputer Anda.NET bin direktori. Jenis CD pada prompt perintah, klik kanan untuk menyisipkan jalan, dan kemudian tekan ENTER untuk dengan cepat mengubah ke direktori di mana alat SN terletak.

    Ketik berikut:
    SN -k "C:\GACKey\GACkey.snk"
  4. Kunci yang dihasilkan, tetapi tidak lagi berhubungan dengan Majelis proyek. Untuk membuat hubungan ini, klik dua kali AssemblyInfo.cs file dalam Visual Studio.Solusi Internet Explorer. File ini telah daftar atribut Majelis yang disertakan secara default ketika sebuah proyek dibuat dalam Visual Studio.NET. Memodifikasi AssemblyKeyFileMajelis atribut dalam kode sebagai berikut:
    [Majelis: AssemblyKeyFile("C:\\GACKey\\GACKey.snk")]
    Mengkompilasi proyek dengan mengklik CTRL + SHIFT + B. Anda tidak perlu memiliki kode tambahan untuk menginstal berkas .dll dalam GAC.
  5. Anda dapat menginstal berkas .dll dengan menggunakan alat Gacutil atau oleh menyeret berkas .dll untuk folder yang sesuai. Jika Anda menggunakan Gacutil alat, Anda dapat menggunakan perintah berikut:
    gacutil-aku "[DriveLetter]:\[PathToBinDirectoryInVSProject]\gac.dll"
    Tarik file, membuka dua contoh dari Windows Explorer. Dalam satu contoh, menemukan lokasi berkas .dll output untuk proyek konsol Anda. Dalam contoh lain, menemukan c:\[SystemRoot]\Assembly. Kemudian, tarik berkas .dll AndaMajelis folder.

Daftar kode lengkap (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("")]

Verifikasi

  1. Jalankan Windows Explorer.
  2. Cari c: \SystemRoot\ Majelis.
  3. Anda melihat GACDemo di daftar .dll diinstal file.

REFERENSI

Untuk informasi lebih lanjut, lihat situs Web Microsoft berikut:
Menginstal sebuah pertemuan ke Cache perakitan Global
.aspx http://msdn2.Microsoft.com/en-us/library/dkkx7f79 (vs.71)
Global Majelis Cache
.aspx http://msdn2.Microsoft.com/en-us/library/yf1d93sz (vs.71)
Global Majelis Cache alat
.aspx http://msdn2.Microsoft.com/en-us/library/ex0ss12c (vs.71)

Properti

ID Artikel: 815808 - Kajian Terakhir: 04 Oktober 2011 - Revisi: 2.0
Berlaku bagi:
  • 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
Kata kunci: 
kbcodesign kbcommandline kbnamespace kbhowtomaster kbmt KB815808 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:815808

Berikan Masukan

 

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