다음을 통해 공유


방법: 기능 확장 등록 및 관리

리팩터링을 위한 사용자 지정 형식과 대상, 데이터베이스 코드 분석 규칙, 데이터베이스 단위 테스트 조건 및 데이터 생성기를 추가하여 Visual Studio Premium 또는 Visual Studio Ultimate에서 제공하는 기능을 확장할 수 있습니다. 하지만 기능 확장을 사용하려면 확장을 직접 만들었거나 다른 사용자가 만든 확장을 설치했거나 관계없이 먼저 등록을 해야 합니다. 자세한 내용은 Visual Studio의 데이터베이스 기능 확장을 참조하십시오.

Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions 폴더 안에 확장용 폴더를 만드는 것이 좋습니다. 이 방법을 사용하면 Extensions 폴더 자체가 아니라 하위 폴더에 쓰기 권한을 부여할 수 있습니다. 이 경우 사용자가 사용자 지정 확장을 추가할 수 있도록 허용하는 동시에 Visual Studio에 포함된 파일을 실수로 변경하는 것을 방지할 수 있습니다.

경고

Program Files\Microsoft Visual Studio 10.0\VSTSDB\ 폴더에 하위 폴더를 만들려면 컴퓨터에서 관리자 권한이 있어야 합니다. 적절한 권한이 없는 경우 네트워크 관리자에게 문의하십시오.

보안 고려 사항

직접 만들지 않은 확장을 설치하려는 경우 먼저 다음과 같은 위험 요소를 이해해야 합니다.

  • 확장 설치 프로그램이 악성 프로그램일 수 있으며, 사용자의 설치 권한에 따라 보호된 리소스에 액세스할 수 있습니다.

  • 확장 자체가 악성 프로그램일 수 있으며, 확장 사용자에게 사용 권한이 있을 경우 보호된 리소스에 액세스할 수 있습니다.

위험을 최소화하려면 출처를 신뢰할 수 있는 확장만 설치해야 합니다. 신뢰할 수 없는 출처로부터 확장을 받은 경우 확장을 설치하여 사용하기 전에 확장 및 해당 설치 프로그램(있는 경우)의 소스 코드를 검사해야 합니다.

사용자 지정 기능 확장을 설치하려면

  • 서명된 어셈블리(.dll)를 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions 폴더에 복사합니다.

    CustomExtensions는 사용자나 컴퓨터 관리자가 기능 확장에 대한 어셈블리와 XML 파일을 포함하기 위해 만든 폴더의 이름입니다.

    참고

    어셈블리와 XML 파일을 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions 폴더에 바로 복사하지 않는 것이 좋습니다. 대신 하위 폴더를 사용하면 Visual Studio에서 제공된 다른 파일을 실수로 변경하는 것을 방지할 수 있습니다.

    다음으로, 확장이 Visual Studio에 표시되도록 등록해야 합니다.

기능 확장을 등록하려면

  1. 보기 메뉴에서 다른 창을 클릭한 다음 명령 창을 클릭합니다.

  2. 명령 창에 다음 코드를 입력하고 FilePath를 어셈블리의 경로와 파일 이름으로 대체합니다. 이때 경로 및 파일 이름을 따옴표로 묶습니다.

    참고

    확장을 만든 경우 컴파일된 .dll 파일의 기본 경로는 YourSolutionPath\bin\Debug 또는 YourSolutionPath\bin\Release입니다.

    ? System.Reflection.Assembly.LoadFrom("FilePath").FullName
    
    ? System.Reflection.Assembly.LoadFrom(@"FilePath").FullName
    
  3. Enter 키를 누릅니다.

  4. 결과 줄을 클립보드로 복사합니다. 이 줄은 다음과 같습니다.

    "GeneratorAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=nnnnnnnnnnnnnnnn"
    
  5. 메모장과 같은 일반 텍스트 편집기를 엽니다.

  6. 사용자 어셈블리 이름, 공개 키 토큰 및 확장 형식을 지정하여 다음 정보를 제공합니다.

    <?xml version="1.0" encoding="utf-8" ?>
    <extensions assembly=""
                version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
      <extension type="<enter extension type here>" assembly="<enter assembly name here>, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
    </extensions>
    

    확장 형식은 "namespace.classname"입니다. 어셈블리 이름에는 .dll 확장명이 포함되지 않습니다.

    어셈블리에 여러 개의 클래스가 있는 경우 파일에 확장 형식 목록이 포함될 수 있습니다.

  7. .Extensions.xml 파일 확장명으로 파일을 저장합니다.

    예를 들어 파일 이름을 TestConditionName.Extensions.xml로 지정할 수 있습니다.

  8. Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions\CustomExtensions 폴더에 이 파일을 추가합니다.

    CustomExtensions는 사용자나 컴퓨터 관리자가 기능 확장에 대한 어셈블리와 XML 파일을 포함하기 위해 만든 폴더의 이름입니다.

    참고

    어셈블리와 XML 파일을 Program Files\Microsoft Visual Studio 10.0\VSTSDB\Extensions 폴더에 바로 복사하지 않는 것이 좋습니다. 대신 하위 폴더를 사용하면 Visual Studio에서 제공된 다른 파일을 실수로 변경하는 것을 방지할 수 있습니다.

  9. Visual Studio를 닫은 후 다시 엽니다.

    이제 확장을 사용할 수 있습니다.

예제

다음 예제에서는 연습: SQL의 사용자 지정 정적 코드 분석 규칙 어셈블리 작성에서 만든 사용자 지정 데이터베이스 코드 분석 규칙을 등록하는 데 필요한 XML 파일을 보여 줍니다. 사용자 공개 키와 어셈블리 이름을 대체해야 합니다. 다음 예제에서 어셈블리 이름은 "SampleRules"입니다.

<?xml version="1.0" encoding="utf-8"?>
<extensions assembly=""
            version="1" xmlns="urn:Microsoft.Data.Schema.Extensions"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="urn:Microsoft.Data.Schema.Extensions Microsoft.Data.Schema.Extensions.xsd">
  <extension type="SampleRules.AvoidWaitForDelayRule" assembly="SampleRules, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b4deb9b383d021b0" enabled="true"/>
</extensions>

참고 항목

개념

데이터베이스 단위 테스트의 사용자 지정 조건 정의

사용자 지정 데이터 생성기를 통해 특수 테스트 데이터 생성

사용자 지정 데이터베이스 리팩터링 형식 또는 대상 만들기

데이터베이스 코드를 분석하기 위한 추가 규칙 만들기 및 등록