/KEYFILE (Derlemeyi İmzalamak için Anahtar veya Anahtar Çiftini Belirt)/KEYFILE (Specify Key or Key Pair to Sign an Assembly)

/KEYFILE:filename

ArgumentsArguments

filenamefilename
Anahtarı içeren dosya.File that contains the key. Dizeyi, bir boşluk içeriyorsa çift tırnak işaretleri ("") içine koyun.Place the string in double quotation marks (" ") if it contains a space.

AçıklamalarRemarks

Bağlayıcı, ortak anahtarı derleme bildirimine ekler ve ardından son derlemeyi özel anahtarla imzalar.The linker inserts the public key into the assembly manifest and then signs the final assembly with the private key. Anahtar dosyası oluşturmak için komut satırına sn-k dosya adı yazın.To generate a key file, type sn -k filename at the command line. İmzalı bir derlemenin tanımlayıcı adı olduğu söylenir.A signed assembly is said to have a strong name.

/Lnile derlerseniz, anahtar dosyasının adı modülde tutulur ve modüle açık bir başvuru içeren bir derlemeyi derlediğinizde, #usingaracılığıyla veya /ASSEMBLYMODULEile bağlanırken oluşturulan derlemeye dahil edilir.If you compile with /LN, the name of the key file is held in the module and incorporated into the assembly that is created when you compile an assembly that includes an explicit reference to the module, via #using, or when linking with /ASSEMBLYMODULE.

Ayrıca, şifreleme bilgilerinizi /keycontainerile bağlayıcıya geçirebilirsiniz.You can also pass your encryption information to the linker with /KEYCONTAINER. Kısmen imzalanmış bir derleme istiyorsanız /delaysign kullanın.Use /DELAYSIGN if you want a partially signed assembly. Bir derlemeyi imzalama hakkında daha fazla bilgi için bkz. tanımlayıcı ad derlemeleri (derleme imzalama) (C++/CLI) .See Strong Name Assemblies (Assembly Signing) (C++/CLI) for more information on signing an assembly.

Hem /keyfile hem de /keycontainer belirtildiğinde (komut satırı seçeneğine veya özel özniteliğe göre), bağlayıcı öncelikle anahtar kapsayıcısını dener.In case both /KEYFILE and /KEYCONTAINER are specified (either by command line option or by custom attribute), the linker will first try the key container. Bu başarılı olursa, derleme anahtar kapsayıcısındaki bilgilerle imzalanır.If that succeeds, then the assembly is signed with the information in the key container. Bağlayıcı anahtar kapsayıcısını bulamazsa,/KEYFILEILE belirtilen dosyayı dener.If the linker does not find the key container, it will try the file specified with /KEYFILE. Bu başarılı olursa, derleme anahtar dosyasındaki bilgilerle imzalanır ve anahtar bilgileri, sonraki derlemede anahtar kapsayıcısının geçerli olacağı şekilde anahtar kapsayıcısına (sn-ı ' ye benzer) yüklenir.If that succeeds, the assembly is signed with the information in the key file and the key information will be installed in the key container (similar to sn -i) so that on the next compilation, the key container will be valid.

Anahtar dosyasının yalnızca ortak anahtar içerebileceğini unutmayın.Note that a key file might contain only the public key.

Bir derlemeyi imzalama hakkında daha fazla bilgi için bkz. Strong-Named derlemeleri oluşturma ve kullanma .See Creating and Using Strong-Named Assemblies for more information on signing an assembly.

Derleme üretimini etkileyen diğer bağlayıcı seçenekleri şunlardır:Other linker options that affect assembly generation are:

Visual Studio geliştirme ortamındaki bu bağlayıcı seçeneğini ayarlamak içinTo set this linker option in the Visual Studio development environment

  1. Projenin Özellik sayfaları iletişim kutusunu açın.Open the project's Property Pages dialog box. Ayrıntılar için bkz. Visual Studio 'Da C++ derleyicisini ve derleme özelliklerini ayarlama.For details, see Set C++ compiler and build properties in Visual Studio.

  2. Bağlayıcı klasörüne tıklayın.Click the Linker folder.

  3. Komut satırı Özellik sayfasına tıklayın.Click the Command Line property page.

  4. Seçeneği ek seçenekler kutusuna yazın.Type the option into the Additional Options box.

Bu bağlayıcı seçeneğini program aracılığıyla ayarlamak içinTo set this linker option programmatically

Ayrıca bkz.See also

MSVC bağlayıcı başvurusuMSVC linker reference
MSVC bağlayıcı seçenekleriMSVC Linker Options