-1

我正在尝试在 Linux 上为 Mono 的 MySQL 编译 MojoPortal。我的目标是能够创建一个使用 Microsoft 技术在 Windows 和 Linux 服务器上运行的 Web 应用程序。我完全清楚 MojoPortal 多年来一直没有正式支持 Mono,但由于一些......复杂的情况,我不能直接在 ASP.NET Mono 或 .NET Core 中构建我的应用程序。我也不能只用 PHP 或任何其他被证明可以在两个平台上工作的服务器端技术编写应用程序。

对于这个项目,我使用的是从官方 GitHub 存储库获得的最新稳定版 MojoPortal。

我已经修复了各种项目的大部分依赖项。当我尝试在调试模式下正常运行时,程序中似乎没有任何其他错误,除了这个错误:

/usr/lib/mono/msbuild/15.0/bin/Microsoft.Common.CurrentVersion.targets(5,5): Error MSB3073: The command "if "Debug" == "Release - SQLite" xcopy /s /y /d "/home/callum/Working/mojoportal/Web/data/sqlitedb/sqlite3.dll" "/home/callum/Working/mojoportal/Web/bin/"
if "Debug" == "Debug - SQLite" xcopy /s /y /d "/home/callum/Working/mojoportal/Web/data/sqlitedb/sqlite3.dll" "/home/callum/Working/mojoportal/Web/bin/"" exited with code 2. (MSB3073) (mojoPortal.Web)

看着它,它似乎在抱怨 SQLite 包,但我不想使用 SQLite;我想用MySQL!我一直在努力通过所有各种 MySQL 构建模式,但似乎没有任何工作。我应该怎么办?

4

1 回答 1

1

mojoPortal 不再支持在带有 mono 的 Linux 上运行,并且已经有好几年了。这并不意味着它不起作用,只是开发团队根本不测试或针对 Mono。

确保您是针对 MySQL 数据层而不是 sqlite 层构建的。从那里,确保您没有将 sqlite3.dll 部署到您的服务器。可能是您正在针对 MySQL 数据层进行构建,但文件中有 sqlite3.dll,因此 Mono 正在尝试 JIT 构建它。

希望这会有所帮助,

于 2020-03-02T17:34:01.627 回答