错误 运行 基于 DevExpress ASP.NET Web 应用程序 Ubuntu 使用 Mono

Errors Running DevExpress based ASP.NET Web Application In Ubuntu With Mono

当我在 ubuntu 服务器上 运行 一个 devexpress 和 ASP.NET 网络应用程序时,我发现了这个错误。

Could not load file or assembly 'DevExpress.Web.v11.1, Version=11.1.4.0, Culture=neutral, PublicKeyToken=9b171c9fd64da1d1' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

所有其他 ASP.NET 应用程序在同一 ubuntu 服务器上 运行 运行良好。

那么,我如何在 ubuntu 服务器上 运行 这个应用程序。

应用程序已经运行在windows7的开发环境中完美运行。

我们将不胜感激。

由于其他不使用 DevExpress 的应用程序似乎运行良好,以下是可能的解释:

1) 这可能表明您的服务器中尚不存在 DevExpress 可再发行程序集。将应用程序部署到服务器时,确保所有必需的程序集都存在于应用程序的 /bin 文件夹中。 The general information of redistributable assemblies 显示部署过程中要复制的所需程序集的完整列表。

2) 一些 DevExpress 组件使用 P/Invoke 与 WinAPI 通信,这可能会引发与 Apache、Mono 甚至 .NET Core 环境的兼容性问题。正如 Ingvar 所说 here,您可以尝试安装 Windows 模拟器,例如 Wine,但仍然不能保证所有组件将正常工作。

另一个可用的选项是删除所有 DevExpress 帮助程序并使用标准 HTML 帮助程序结合具有类似功能的各种 JavaScript 库。

相关问题:

The "Could not load file or assembly 'X'" error message appears

ASP.NET MVC with DevExpress in Linux

DevExpress ASP.Net Component on Mono

参考这个 - DevExpress ASP.NET MVC - What is the difference between DevExtreme MVC Controls and classic ASP.NET MVC Extensions

Starting with v17.1, DevExpress officially introduced a new set of components for the MVC platform: Announcing the DevExtreme MVC Controls for ASP.NET MVC and .NET Core - Available in v17.1.

您可以使用 DevExtreme 产品或 .NET 核心来移植您的应用程序,但目前 DevExpress 不支持 ASP.NET 控件的 Mono。

DevExtreme MVC 控件基于 DevExtreme client-side widgets。它们更轻量级,它们与服务器的交互用于获取数据。它们提供了一种与 Web 服务(OData、WebApi)交互的更自然的方式。