>  기사  >  类库下载  >  AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

高洛峰
高洛峰원래의
2016-10-14 17:09:491810검색

핵심 코드

                                                                                      ~                                                         그림의 코드를 확장하고 화살표를 보세요 ↓AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

1. 전역 속성

using System.Reflection;
using System.Runtime.InteropServices;

// 有关程序集的常规信息通过下列特性集
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MusicStore")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("MusicStore")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// 将 ComVisible 设置为 false 会使此程序集中的类型
// 对 COM 组件不可见。如果需要
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]

// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
[assembly: Guid("a9ef3281-9049-4a52-a2f1-2061d442200e")]

// 程序集的版本信息由下列四个值组成:
//
//      主版本
//      次版本
//      内部版本号
//      修订版本
//
// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
대부분의 속성은 특정 언어 요소에 적용됩니다( 클래스 또는 메서드 등) 그러나 일부 속성은 전역적이며 전체 어셈블리 또는 모듈에 적용됩니다. 예: AssemblyVersionAttribute 특성을 사용하여 버전 정보를 어셈블리에 포함할 수 있습니다.

전역 특성은 소스 코드에서 최상위 using 지시문 앞과 모든 유형, 모듈 또는 네임스페이스 선언 앞에 나타납니다. 전역 특성은 여러 소스 파일에 나타날 수 있지만 파일은 단일 컴파일 패스에서 컴파일되어야 합니다. C# 프로젝트에서는 AssemblyInfo.cs 파일에 있습니다.

어셈블리 속성은 어셈블리에 대한 정보를 제공하는 값입니다.

 ①어셈블리 식별 속성

  ②정보 속성

  3어셈블리 매니페스트 속성

  4강력한 이름 속성

 

 1. 어셈블리 식별 속성

  세 가지 속성(해당되는 경우 강력한 이름 사용)이 어셈블리의 ID(이름, 버전 및 문화권)를 결정합니다. 코드에서 참조되는 경우 이러한 특성은 어셈블리의 전체 이름을 구성하는 데 필요합니다. 특성을 사용하면 어셈블리의 버전과 문화권을 설정할 수 있습니다. 그러나 이름 값은 어셈블리가 생성된 후 어셈블리 매니페스트가 포함된 파일에 따라 컴파일러에 의해 Visual Studio IDE의 어셈블리 정보 대화 상자에서 설정됩니다. AssemblyFlagsAttribute 특성은 어셈블리의 여러 복사본이 공존할 수 있는지 여부를 지정합니다.

AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

그림 - "어셈블리 정보" 대화 상자 및 AssemblyInfo.cs 파일의 명사 대응 AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

2. 정보 속성

정보 속성을 사용하여 어셈블리에 대한 다른 회사 또는 제품 정보를 제공할 수 있습니다.

 3. 어셈블리 매니페스트 기능 AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

어셈블리 매니페스트 기능을 사용하면 어셈블리 매니페스트에 정보를 제공할 수 있습니다. 여기에는 제목, 설명, 기본 별칭 및 구성이 포함됩니다.

4. 강력한 이름 기능(자세한 내용은 아님) AssemblyInfo.cs 분석 - 일반적으로 사용되는 속성에 대해 알아보기

일반적으로 이전 버전의 Visual Studio에 존재하는 강력한 이름의 어셈블리를 실행합니다. 다음 어셈블리 수준 특성:

  1AssemblyKeyFileAttribute

  2AssemblyKeyNameAttribute

  3AssemblyDelaySignAttribute

  이는 여전히 지원되지만 어셈블리에 서명하는 기본 방법은 "서명 페이지". (여기서는 심층적인 이해가 없습니다.)

2. Obsolete 기능

Obsolete 속성은 프로그램 엔터티가 더 이상 사용이 권장되지 않는 엔터티로 표시되었음을 나타냅니다. 더 이상 사용되지 않는 것으로 표시된 엔터티를 사용할 때마다 구성 속성에 따라 경고 또는 오류가 생성됩니다.

/// <summary>
    /// 旧类
    /// </summary>
    [Obsolete("请使用 " + nameof(NewClass))]
    class OldClass
    {
        public void Method() { }
    }

    /// <summary>
    /// 新类
    /// </summary>
    class NewClass
    {
        [Obsolete("请使用 " + nameof(NewMethod), true)]
        public void OldMethod() { }

        public void NewMethod() { }
    }
class Program
    {
        static void Main(string[] args)
        {
            var oldClass = new OldClass();  //警告

            var newClass = new NewClass();
            newClass.OldMethod();  //报错
        }
    }
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.