다음을 통해 공유


AssemblyKeyFileAttribute 클래스

강력한 이름을 생성하는 데 사용된 키 쌍을 포함하는 파일의 이름을 지정합니다.

네임스페이스: System.Reflection
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
<AttributeUsageAttribute(AttributeTargets.Assembly, Inherited:=False)> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class AssemblyKeyFileAttribute
    Inherits Attribute
‘사용 방법
Dim instance As AssemblyKeyFileAttribute
[AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false)] 
[ComVisibleAttribute(true)] 
public sealed class AssemblyKeyFileAttribute : Attribute
[AttributeUsageAttribute(AttributeTargets::Assembly, Inherited=false)] 
[ComVisibleAttribute(true)] 
public ref class AssemblyKeyFileAttribute sealed : public Attribute
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false) */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class AssemblyKeyFileAttribute extends Attribute
AttributeUsageAttribute(AttributeTargets.Assembly, Inherited=false) 
ComVisibleAttribute(true) 
public final class AssemblyKeyFileAttribute extends Attribute

설명

강력한 이름의 어셈블리를 빌드할 때 만드는 사람은 이 특성이나 AssemblyKeyNameAttribute를 제공해야 합니다. AssemblyDelaySignAttribute도 지정된 경우 이 파일은 공개 키만 포함할 수 있습니다.

구문 예제는 [assembly:AssemblyKeyFileAttribute("myKey.snk")]입니다.

경고

경로 및 파일 이름이 유지되므로 AssemblyKeyFileAttribute에 사용하는 문자열에는 중요한 정보가 포함되지 않아야 합니다.

예제

다음 코드 예제에서는 AssemblyKeyFileAttribute와 함께 AssemblyDelaySignAttribute 특성을 사용하는 방법을 보여 줍니다. 이 예제를 컴파일하려면 강력한 이름 도구(Sn.exe)를 사용하여 TestPublicKey.snk라는 강력한 이름의 키 파일을 만들어야 합니다.

sn -k TestPublicKey.snk 

이 예제를 .dll로 컴파일합니다. 명령줄에서 컴파일할 경우 /t:library 옵션(C# 또는 Visual Basic의 경우)이나 /LD 링커 옵션(Visual C++의 경우)을 사용합니다.

Imports System
Imports System.Reflection

<assembly:AssemblyDelaySignAttribute(true)>
<assembly:AssemblyKeyFileAttribute("TestPublicKey.snk")>

Namespace DelaySign

    Public class Test
    End Class

End Namespace
using System;
using System.Reflection;

[assembly:AssemblyKeyFileAttribute("TestPublicKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]

namespace DelaySign
{
    public class Test { }
}
using namespace System;
using namespace System::Reflection;

[assembly:AssemblyKeyFileAttribute("TestPublicKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];

namespace DelaySign
{
    public ref class Test { };
}

상속 계층 구조

System.Object
   System.Attribute
    System.Reflection.AssemblyKeyFileAttribute

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

AssemblyKeyFileAttribute 멤버
System.Reflection 네임스페이스

기타 리소스

메타데이터 및 자동 기술 구성 요소
MSIL로 컴파일
메타데이터 개요