Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
SQL Server Reporting Services'te özel bir assembly dağıtmak için, montajı hem Rapor Tasarımcısı'ın hem de rapor sunucusunun uygulama klasörlerine yerleştirin. Varsayılan olarak, özel montajlara Reporting Services'te Yürütme izni verilir. Özel montaj yetkileri Execute izni dışında vermek için, rapor sunucusu için rssrvpolicy.config yapılandırma dosyasını ve Rapor Tasarımcısı önizleme penceresi için rspreviewpolicy.config yapılandırma dosyasını düzenlemeniz gerekir. Alternatif olarak, özel montajınızı global assembly önbelleğe (GAC) kurabilirsiniz.
Note
Rapor Tasarımcısı için iki önizleme modu vardır: Önizleme sekmesi ve rapor projeniz DebugLocal modunda başladığında açılan açılır önizleme penceresi. Önizleme sekmesi, FullTrust izin setini kullanan tüm rapor ifadelerini çalıştırır ve güvenlik politikası ayarlarını uygulamaz. Açılır önizleme penceresi, rapor sunucusunun işlevselliğini simüle etmek için tasarlanmıştır ve bu nedenle Rapor Tasarımcısı'da özel montajlar kullanmak için sizin veya bir yöneticinizin değiştirilmesi gereken bir politika yapılandırma dosyası vardır. Bu açılır önizleme ayrıca özel montajı kilitliyor. Bu nedenle, özel assembly kodunuzu değiştirmek veya güncellemek için önizleme penceresini kapatmanız gerekir.
Reporting Services'te özel bir assembly dağıtın
Özel montajınızı yapı konumunuzdan rapor sunucusu bin klasörüne veya Rapor Tasarımcısı klasörüne kopyalayın.
Özel montajınızı rapor sunucusu bin klasörüne yerleştirmek, özel montajınıza referans veren raporları yayınlamanızı sağlar. Rapor sunucusu için bin klasörünün varsayılan konumu şudur:
Reporting Services 2016
%ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\binReporting Services 2017 ve sonrası
%ProgramFiles%\Microsoft SQL Server Reporting Services\SSRS\ReportServer\binBunu Rapor Tasarımcısı klasörüne yerleştirmek, Rapor Tasarımcısı'daki özel montajınıza referans veren raporları çalıştırıp hata ayıklamanızı sağlar. Rapor Tasarımcısı'ın varsayılan konumu şudur:
Visual Studio 2012
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssembliesVisual Studio 2013
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssembliesVisual Studio 2015
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssembliesVisual Studio 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRSVisual Studio 2019
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRSUygun yapılandırma dosyasını açın. Rapor sunucusu için rssrvpolicy.config'in varsayılan konumu şudur:
Reporting Services 2016
%ProgramFiles%\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServerReporting Services 2017 ve sonrası
%ProgramFiles%\Microsoft SQL Server Reporting Services\SSRS\ReportServerRapor Tasarımcısı için güncellenmesi gereken dosyalar şunlardır:
Visual Studio 2012
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies\RSReportHost11.exe.configVisual Studio 2013
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies\RSReportHost.exe.configVisual Studio 2015
C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies\RSReportHost.exe.configVisual Studio 2017
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportHost.exe.configVisual Studio 2019
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\PreviewProcessingService.exe.config C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSPreviewPolicy.config C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportDesigner.config C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\SSRS\RSReportHost.exe.configÖzel montajınız için bir kod grubu ekleyin. Daha fazla bilgi için Secure Development (Reporting Services) bölümüne bakınız.
Özel montajları güncelle
Bir noktada, birkaç yayımlanmış raporda referans verilen özel bir montaj sürümünü güncellemeniz gerekebilir. Eğer bu assembly zaten rapor sunucusunun veya Rapor Tasarımcısı'ın bin dizininde mevcutsa ve montajın sürüm numarası bir şekilde artırılmış veya değiştirilmişse, şu anda yayınlanan raporlar düzgün çalışmaz. Rapor tanımının CodeModules öğesinde referans verilen montaj versiyonunu güncellemeniz ve raporları yeniden yayınlamanız gerekecek. Eğer özel bir montajı sık sık güncelleyeceğinizi biliyorsanız ve şu anda yayınlanan raporlarınızın yeni montaja referans vermesi gerekiyorsa, belirli bir montajın tüm güncellemelerinde aynı sürüm numarasını kullanmayı düşünebilirsiniz.
Eğer şu anda yayınlanan raporlarınızın yeni assembly sürümüne referans vermesine ihtiyacınız yoksa, özel montajınızı global assembly önbelleğe dağıtabilirsiniz. Küresel assembly önbelleği, aynı assembly'nin birden fazla versiyonunu koruyabilir; böylece mevcut raporlarınız önceki assembly sürümüne referans verebilir ve yeni yayımlanan raporlarınız güncellenmiş assembly'ye referans verebilir. Bir başka yaklaşım ise, rapor sunucusunun bağlayıcı yönlendirmesini eski assembly için tüm taleplerin yeni assembly'ye yönlendirilmesini zorunlu kılacak şekilde ayarlamak olurdu. Rapor sunucusunu Web.config dosyayı, rapor sunucusunu ReportingServicesService.exe.config dosyayı değiştirmeniz gerekir. Giriş aşağıdaki örnek gibi görünebilir:
<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>