사용자 지정 어셈블리 배포Deploying a Custom Assembly

사용자 지정 어셈블리를 배포 하려면 SQL ServerSQL Server Reporting ServicesReporting Services, 보고서 디자이너와 보고서 서버 응용 프로그램 폴더의 어셈블리 배치 합니다.To deploy a custom assembly in SQL ServerSQL Server Reporting ServicesReporting Services, place the assembly in the application folders of both Report Designer and the report server. 사용자 지정 어셈블리 기본적으로 부여 실행 에서 권한을 Reporting ServicesReporting Services합니다.By default, custom assemblies are granted Execution permission in Reporting ServicesReporting Services. 사용자 지정 어셈블리에 권한을 부여 하려면 실행 권한 이상의 권한이 보고서 서버에 대 한 rssrvpolicy.config 구성 파일 및 보고서 디자이너 미리 보기 창에 대 한 rspreviewpolicy.config 구성 파일을 편집 하려면 해야 합니다.To grant custom assemblies privileges beyond Execute permission, you will need to edit the rssrvpolicy.config configuration file for the report server and the rspreviewpolicy.config configuration file for the Report Designer preview window. 또는 GAC(전역 어셈블리 캐시)에 사용자 지정 어셈블리를 설치할 수도 있습니다.Alternatively, you can install your custom assembly in the global assembly cache (GAC).

참고

두 개의 모드에 대 한 보고서 디자이너 미리 보기는: 보고서 프로젝트를 시작할 때 실행 되는 팝업 미리 보기 창과 미리 보기 탭 DebugLocal 모드입니다.There are two preview modes for Report Designer: the Preview tab and the pop-up preview window that is launched when your report project is started in DebugLocal mode. 미리 보기 탭을 사용 하 여 모든 보고서 식을 실행는 FullTrust 사용 권한 설정 및 보안 정책 설정을 적용 하지 않습니다.The Preview tab executes all report expressions using the FullTrust permission set and does not apply security policy settings. 팝업 미리 보기 창은 보고서 서버 기능을 시뮬레이션하기 위한 것이므로 보고서 디자이너에서 사용자 지정 어셈블리를 사용하기 위해 작업자나 관리자가 수정해야 하는 정책 구성 파일을 포함합니다.The pop-up preview window is meant to simulate the report server functionality and therefore has a policy configuration file that you or an administrator must modify to use custom assemblies in Report Designer. 또한 이 팝업 미리 보기는 사용자 지정 어셈블리를 잠급니다.This pop-up preview also locks the custom assembly. 따라서 사용자 지정 어셈블리 코드를 수정하거나 업데이트하려면 미리 보기 창을 닫아야 합니다.Therefore, you need to close the preview window in order to modify or update your custom assembly code.

Reporting Services에서 사용자 지정 어셈블리를 배포하려면To deploy a custom assembly in Reporting Services
  1. 사용자 지정 어셈블리를 빌드 위치에서 보고서 서버 bin 폴더 또는 보고서 디자이너 폴더에 복사합니다.Copy your custom assembly from your build location to the report server bin folder or the Report Designer folder. 보고서 서버 bin 폴더의 기본 위치는 %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin입니다.The default location of the bin folder for the report server is %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer\bin. 보고서 디자이너의 기본 위치는 %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies입니다.The default location of the Report Designer is %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

    사용자 지정 어셈블리를 보고서 서버의 bin 폴더에 배치하면 사용자 지정 어셈블리를 참조하는 보고서를 게시할 수 있고, 보고서 디자이너 폴더에 배치하면 보고서 디자이너의 사용자 지정 어셈블리를 참조하는 보고서를 실행하고 디버깅할 수 있습니다.Placing your custom assembly in the report server bin folder enables you to publish reports that reference your custom assembly, and placing it in the Report Designer folder enables you to run and debug reports that reference your custom assembly in Report Designer.

    사용자 지정 어셈블리 코드에 기본 실행 권한 이상의 권한을 부여해야 하는 경우 다음을 수행합니다.If you need to grant your custom assembly code permissions beyond the default execute permissions:

  2. 해당하는 구성 파일을 엽니다.Open the appropriate configuration file. rssrvpolicy.config의 기본 위치는 %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer입니다.The default location of rssrvpolicy.config is %ProgramFiles%\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer. rspreviewpolicy.config의 기본 위치는 %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies입니다.The default location of rspreviewpolicy.config is %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies.

  3. 사용자 지정 어셈블리에 대한 코드 그룹을 추가합니다.Add a code group for your custom assembly. 자세한 내용은 참조 보안 개발 ( Reporting services) .For more information, see Secure Development (Reporting Services).

사용자 지정 어셈블리 업데이트Updating Custom Assemblies

게시된 다수의 보고서에서 현재 참조하고 있는 사용자 지정 어셈블리의 버전을 어느 시점에 업데이트해야 할 수 있습니다.At some point, you may need to update a version of a custom assembly that is currently being referenced by several published reports. 해당하는 어셈블리가 보고서 서버의 bin 디렉터리나 보고서 디자이너에 이미 있으며 어셈블리의 버전 번호가 높아지거나 어떤 식으로든 변경되는 경우 현재 게시된 보고서는 더 이상 올바르게 작동하지 않습니다.If that assembly already exists in the bin directory of the report server or Report Designer and the version number of the assembly is incremented or changed in some way, the currently published reports will no longer work properly. 참조 되는 어셈블리의 버전을 업데이트 해야 합니다는 CodeModules 보고서 정의의 요소는 보고서를 다시 게시 합니다.You will need to update the version of the assembly that is referenced in the CodeModules element of the report definition and republish the reports. 사용자 지정 어셈블리를 자주 업데이트할 예정이며 현재 게시된 보고서에서 새 어셈블리를 참조해야 하는 경우에는 특정 어셈블리의 모든 업데이트에서 동일한 버전 사용을 고려해야 할 수도 있습니다.If you know that you will frequently update a custom assembly and your currently published reports need to reference the new assembly, you may want to consider using the same version number across all updates of a particular assembly.

현재 게시된 보고서에서 새 버전의 어셈블리를 참조할 필요가 없는 경우 사용자 지정 어셈블리를 전역 어셈블리 캐시에 배포할 수 있습니다.If you do not need your currently published reports to reference the new version of the assembly, you can deploy your custom assembly to the global assembly cache. 전역 어셈블리 캐시에서는 동일한 어셈블리의 여러 버전을 유지 관리할 수 있으므로 현재 보고서에서 이전 버전의 어셈블리를 참조하고 새로 게시된 보고서에서 업데이트된 어셈블리를 참조할 수 있습니다.The global assembly cache can maintain multiple versions of the same assembly, so that your current reports can reference the previous version of your assembly and your newly published reports can reference the updated assembly. 또 다른 방법은 이전 어셈블리에 대한 모든 요청이 새 어셈블리로 리디렉션되도록 보고서 서버의 바인딩 리디렉션을 설정하는 것입니다.Yet another approach would be to set the binding redirect of the report server to force a redirect of all requests for the old assembly to the new assembly. 이 경우 보고서 서버 Web.config 파일 및 보고서 서버 ReportService.exe.config 파일을 수정해야 합니다.You would need to modify the report server Web.config file and the report server ReportService.exe.config file. 항목은 다음과 같습니다.The entry might look like the following:

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <dependentAssembly>  
            <assemblyIdentity name="myAssembly"  
                              publicKeyToken="32ab4ba45e0a69a1"  
                              culture="neutral" />  
            <bindingRedirect oldVersion="1.0.0.0"  
                             newVersion="2.0.0.0"/>  
         </dependentAssembly>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

관련 항목:See Also

보고서에 사용자 지정 어셈블리 사용 Using Custom Assemblies with Reports
어셈블리 및 전역 어셈블리 캐시 사용Working with Assemblies and the Global Assembly Cache