C#에서 클래스 라이브러리를 개발할 때 반드시 하는 것이 편리한 설정

소개



C#에서 클래스 라이브러리를 개발할 때 반드시 하는 것이 편리한 설정의 소개입니다.
전제적으로, 그 개발한 클래스 라이브러리의 DLL 파일이, 다른 솔루션(.sln)으로부터 참조되는 경우를 상정하고 있습니다.
(동일한 솔루션 내에서 [프로젝트]를 참조하는 경우이 문서를 설정하지 않아도 괜찮습니다)

기본 설정으로 남아 불편한 일



개발한 클래스 라이브러리를 기본 설정으로 남겨두고 다른 솔루션에서 참조하면 다음 두 가지 불편한 일이 발생합니다.
여기서 말하는 「디폴트 설정」이란, Release 빌드 한 DLL 파일을 참조시킨 경우를 의미합니다.

인텔리전스에서 댓글이 표시되지 않음



개발한 클래스 라이브러리가 아래와 같이 프로퍼티나 메소드의 코멘트를 기재하고 있다고 합니다.

    /// <summary>
    /// 人を表すクラス
    /// </summary>
    public class Person
    {
        /// <summary>
        /// 名前
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 指定されたメッセージで挨拶する
        /// </summary>
        /// <param name="message">メッセージ</param>
        public void Greet(string message)
        {
            Console.WriteLine(message);
        }
    }

그러나, 그 DLL 파일을 참조시킨 다른 프로젝트로부터 이용할 때, 메소드의 코멘트가 인텔리센스로 표시되지 않습니다.


디버그 실행시 스텝 인을 할 수 없다



디버깅 런타임에 참조하는 DLL 클래스의 메서드에 스텝 인하고 싶어도 스텝 인 할 수 없습니다.

추천하는 편리한 설정



다음 설정을 사용하면 두 가지 문제를 모두 해결할 수 있습니다.

인텔리전스에 주석이 표시되도록 합니다.



-doc(C# 컴파일러 옵션)을 사용하여 XML 파일에 문서 주석을 포함할 수 있습니다.
특히, 다음 단계에 따라 프로젝트 설정을 변경하면 빌드 시 DLL 파일과 동일한 폴더에 XML 파일이 만들어집니다.
  • 프로젝트의 속성 페이지를 엽니다.
  • 빌드 탭을 클릭합니다.
  • XML 문서 파일 속성을 선택합니다.

  • -doc 에 대한 자세한 내용은 다음을 참조하십시오.
    -doc (C# 컴파일러 옵션) | Microsoft Docs

    위에서 만든 XML 파일을 참조하는 DLL 파일과 같은 폴더에 저장해 두면 DLL 파일을 읽을 때 XML도 함께 읽어 줍니다. 그 결과 아래 그림과 같이 IntelliSense에서 주석도 표시됩니다.


    디버깅 런타임에 스텝 인 가능



    디버깅을 실행하려면 빌드 시 DLL과 함께 생성되는 pdb 파일이 필요합니다. 또한 Release 빌드 파일에서 디버깅을 수행할 수 없으므로 Debug 빌드 파일로 교체해야 합니다.
    따라서 Debug 빌드한 DLL과 pdb 파일을 같은 폴더에 저장하고 DLL 파일을 참조하여 DLL의 메서드를 단계별로 실행할 수 있습니다.

    자세한 내용은 아래를 참조하십시오.
    Visual Studio 디버거에서 기호(.pdb) 및 소스 파일 지정(C#, C++, Visual Basic, F#) | Microsoft Docs

    아래 그림은 DLL 파일을 참조한 프로젝트에서 DLL 내의 클래스의 메소드에 스텝 인했을 때의 화면입니다. 소스 코드의 주석과 행 번호도 확인할 수 있습니다.


    테스트를 실행하거나 릴리스 할 때 Release 빌드 DLL을 사용해야하므로 별도의 Release 빌드 DLL을 별도의 폴더에 저장하는 것이 좋습니다. 인스톨러를 작성하는 스크립트등은, Release 빌드의 DLL을 이용하도록 설정해 두면 좋다고 생각합니다.

    요약



    Debug 빌드한 DLL과 XML과 pdb의 파일을 같은 폴더에 저장한 다음, 참조시키면 편리합니다.

    나는 위의 기술을 사용하여 이 도구을 만들고 있습니다.

    Twitter에서도 개발에 도움이되는 정보를 발신하고 있습니다 → @kojimadev

    좋은 웹페이지 즐겨찾기