TBarCode .NET 常见问题
部署问题与库依赖关系
部署问题与库依赖关系
TBarCode SDK 会安装以下两个库:
32-bit: C:\Program Files (x86)\Common Files\TEC-IT\TBarCode\11.15
64-bit: C:\Program Files\Common Files\TEC-IT\TBarCode\11.15
.NET 库 "TECIT.TBarCode.dll" 同时会被安装到全局程序集缓存 (GAC) 中,因此在系统范围内始终可用。加载时,它会根据进程自动在 32 位和 64 位之间切换——这带来了一定的便利性。
TECIT.TBarCode.dll 需要重新加载某些 DLL(TBarCode11.dll / TBarCode11_x64.dll)——库加载器会在同一目录中,或通过指向上述 Common Files 目录路径的 PATH 变量找到这些文件。SDK 安装完成后,可能需要立即重启服务器或重启服务,因为有些服务(IIS)只在启动时读取 PATH 变量。
在开发过程中,Visual Studio 编译通常在调试器中以 32 位进程启动,但服务器进程通常以 64 位方式运行。
TBarCode 库需要 Visual Studio 运行时(具体版本视情况而定),您也可以从此处进行部署。
SQL Server 部署
有时较为棘手的是 SQL Server 的安全特性。只有在部署过程中,您才能确切看到究竟缺少了什么。大多数情况下,问题在于它不加载外部 DLL,或不允许对我们所需重新加载的其他 DLL 进行文件访问。您需要将所有 DLL(TBarCode*.dll)复制到 SQL Server 的特定目录中,并在 rssrvpolicy.config 文件中允许文件访问(完全信任)——参见以下链接:
- SSRS -Deploying a Custom Assembly
- SSRS - Asserting Permissions in Custom Assemblies
- SSRS - Using Reporting Services Security Policy Files
如果您不想处理 DLL 安全性问题,还有一种替代方案:您可以将条码生成器移至一个独立的条码 Web 服务中,并在报表运行时通过 URL“即时”加载条码。我们随 TBarCode SDK 一同提供该条码 Web 服务,以及相应的安装和使用指南:
C:\ProgramData\TEC-IT\TBarCode\11.15\Examples\Visual Studio .NET\Barcode Service