| title | Using Strong-Named Custom Assemblies | Microsoft Docs | |||||
|---|---|---|---|---|---|---|
| description | Learn to use a strong-named custom assembly to uniquely identify an assembly to the common language runtime (CLR) and ensure binary integrity. | |||||
| ms.date | 03/14/2017 | |||||
| ms.prod | reporting-services | |||||
| ms.prod_service | reporting-services-native | |||||
| ms.technology | custom-assemblies | |||||
| ms.topic | reference | |||||
| helpviewer_keywords |
|
|||||
| ms.assetid | ca9f19d7-6e86-46f2-b9ad-9bf807eaa52e | |||||
| author | maggiesMSFT | |||||
| ms.author | maggies |
A strong name identifies an assembly and includes the assembly's text name, four-part version number, culture information (if provided), a public key, and a digital signature stored in the assembly's manifest. A strong name uniquely identifies an assembly to the common language runtime (CLR) and ensures binary integrity.
To use strong-named assemblies with reports, you must allow your strong-named assembly to be called by partially trusted code using the assembly's AllowPartiallyTrustedCallers attribute. You can use AllowPartiallyTrustedCallersAttribute to allow strong-named assemblies to be called by Report Designer or the report server in report expressions. To allow partially trusted code to call strong-named assemblies, add the following assembly-level attribute to your assembly attribute file.
<assembly:AllowPartiallyTrustedCallers> [assembly:AllowPartiallyTrustedCallers] AllowPartiallyTrustedCallersAttribute is effective only when applied by a strong-named assembly at the assembly level. For more information about applying attributes at the assembly level, see "Applying Attributes" in the [!INCLUDEmsCoName] [!INCLUDEdnprdnshort] SDK documentation.
Caution
When AllowPartiallyTrustedCallersAttribute is present, the default FullTrustLinkDemand security checks are prevented, making the assembly callable from any other partially trusted assembly. All security checks, including class-level or method-level declarative security attributes, must be explicitly stated.