常见问题:Web 应用中的 TBarCode
格式不正确错误
格式不正确错误
部署 Web 应用程序后,您会看到:
- Could not load file or assembly TECIT.TBarCode or one of its dependencies. An attempt was made to load a program with an incorrect format.
出现此问题的可能原因是:您在应用程序中添加了 32 位版本的 TBarCode 程序集(通常是因为 Visual Studio 开发 Web 服务器以 32 位模式运行)。但您的 Web 服务器运行在 64 位系统上,且应用程序池已配置为不支持 32 位。此时应用程序想要加载 64 位库,却只找到了 32 位版本,从而导致格式不正确的错误。
有以下两种解决方案:
- 您可以在 IIS 应用程序池(高级设置)中更改 Enable 32 Bit 属性,切换到 32 位模式。建议仅在您的 Web 应用程序拥有专属的、仅供该应用使用的应用程序池,且没有必须以 64 位运行的需求时,才这样做。
- 或者,从应用程序的 app/bin 文件夹中移除所有 TBarCode 相关的库,在 Web 服务器上安装 TBarCode x64 SDK MSI 安装包,然后重启服务器,或在管理员控制台中执行 iisreset 命令(所有应用都会重启)。这样一来,IIS 会自动从 GAC(全局程序集缓存)中解析出对应的 64 位或 32 位版本。我们的安装程序会在 GAC 中同时保存 TBarCode 库/程序集的 32 位和 64 位版本。
如果您的 Web 服务器还托管其他应用程序,建议在专门的维护时段进行重启,或在确保没有其他人访问该服务器时再进行操作。