由于一个 dll 文件导致部署到 Azure 时出现运行时错误

Runtime error when deploying to Azure because of one dll file

我使用 Visual Studio 构建应用程序并已将其发布到 Azure 服务。 但是,当尝试 运行 它时,出现以下错误:

Could not load file or assembly 'RandomColorGenerator.Forms' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我查看了我本地项目中的bin文件夹,我可以看到正确的dll文件。 有什么建议吗?

根据您的描述,您的MVC项目可以在您的开发环境中运行,但是当部署到Azure Web App时,您遇到了上述错误。据我了解,您可以按照以下可能的方法解决此问题:

  • 使用Azure Web Apps的分析工具KUDU,点击"Debug console > CMD",然后在D:\home\site\wwwroot\下查看你部署的web内容。确保丢失的 dll 已成功部署到 Azure Web App。

  • 您可以尝试创建一个新的 Web 应用程序来部署您的 MVC 项目,以隔离此问题。

此外,您可以尝试通过 KUDU 清空已部署的 Web 内容,或通过 select "Delete all existing files prior to publish" 在 VS 发布向导 "Setting > File Publish Options" 下重新部署您的项目。

更新:

根据您的评论,您正在使用Azure Cloud Services. You could enable Remote Desktop and re-publish your application, then remote to your cloud services for troubleshooting this issue. Here is a similar issue,您可以参考一下。

An attempt was made to load a program with an incorrect format.

据我所知,上面的消息意味着有一个 32-bit64-bit 平台冲突。更详细的可以参考这个类似的issue.