在 windows 服务器 2012 r2 上部署时出现 BadImageFormatException
BadImageFormatException when deploying on windows server 2012 r2
我正在 Windows Server 2012 R2(x64) 上部署我的 Asp.net 应用程序。我在使用 64 位 dll 时收到 运行time BadImageFormatException。当我 运行 使用 IIS Express 或在本地计算机 IIS 上发布的应用程序时,一切正常(应用程序池 -> 解决方案名称 -> 启用 32 位应用程序设置为 False,解决方案中的所有项目也设置为平台目标 x64 ). Deploy 正在通过 Team City & Octopus Deploy。
解决方案是什么?
UPD
System.BadImageFormatException: 试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)在 libxl.XmlBook.xlCreateXMLBookC() 在 xxx.Controllers.xxx.xxxController.LibxlTest() 在 C:\TeamCity\buildAgent\work\aeb63fe0b246a1f3\xxx\xxx\Controllers\xxx\xxx\xxxController.cs:line 597
Octopus Tentacle所在的服务器上没有这样的路径C:\TeamCity\buildAgent\
好的,您或您的一位推荐人似乎依赖于 libXL。
您的异常结果(0x8007000B)肯定是 32 位无法在 64 位上加载的问题。
libXL 是 C++ 项目,在 download zip 中有一个 bin64
文件夹,其中包含 libxl.dll
的副本,可以在 64 位模式下工作。
如果您有 libXL 许可副本,最好使用其中的 64 位 dll。
请注意,C:\TeamCity\buildAgent\
来自您构建项目的机器,行号等会保存到您的 pdb
文件中。
最后,它适用于 x86(来自 bin
文件夹)版本,而解决方案是为 x64 构建的。大概是libxl
的一个特点吧。因此,我正在使用 x64 进行开发,并且在部署我的 post-deploy 脚本后将其更改为 x86 版本。
我正在 Windows Server 2012 R2(x64) 上部署我的 Asp.net 应用程序。我在使用 64 位 dll 时收到 运行time BadImageFormatException。当我 运行 使用 IIS Express 或在本地计算机 IIS 上发布的应用程序时,一切正常(应用程序池 -> 解决方案名称 -> 启用 32 位应用程序设置为 False,解决方案中的所有项目也设置为平台目标 x64 ). Deploy 正在通过 Team City & Octopus Deploy。
解决方案是什么?
UPD System.BadImageFormatException: 试图加载格式不正确的程序。 (HRESULT 异常:0x8007000B)在 libxl.XmlBook.xlCreateXMLBookC() 在 xxx.Controllers.xxx.xxxController.LibxlTest() 在 C:\TeamCity\buildAgent\work\aeb63fe0b246a1f3\xxx\xxx\Controllers\xxx\xxx\xxxController.cs:line 597
Octopus Tentacle所在的服务器上没有这样的路径C:\TeamCity\buildAgent\
好的,您或您的一位推荐人似乎依赖于 libXL。
您的异常结果(0x8007000B)肯定是 32 位无法在 64 位上加载的问题。
libXL 是 C++ 项目,在 download zip 中有一个 bin64
文件夹,其中包含 libxl.dll
的副本,可以在 64 位模式下工作。
如果您有 libXL 许可副本,最好使用其中的 64 位 dll。
请注意,C:\TeamCity\buildAgent\
来自您构建项目的机器,行号等会保存到您的 pdb
文件中。
最后,它适用于 x86(来自 bin
文件夹)版本,而解决方案是为 x64 构建的。大概是libxl
的一个特点吧。因此,我正在使用 x64 进行开发,并且在部署我的 post-deploy 脚本后将其更改为 x86 版本。