mono-runtime 和 mono-complete 之间的差异与 Ubuntu 16.04 上 MySQL 插入是否成功有关吗?

mono-runtime 和 mono-complete 之间的差异与 Ubuntu 16.04 上 MySQL 插入是否成功有关吗?

在 Ubuntu Linux 16.04 实例上,1 .sudo apt-get install mono-runtime和 2.之间有什么区别?sudo apt-get purge --remove mono-completesudo apt-get install mono-complete

今天早些时候有人告诉我,mono-runtime 和 mono-complete 之间的区别可能与 MySQL 插入是否成功发生而有利于 mono-complete 相关。

另一个假设是,mono-runtime 和 mono-complete 之间的差异可能与 System.Windows.Forms.dll 的 Mono 实现有关,涉及到响应启动 MySQL 数据库操作操作(即 DML)的按钮单击或按下。

我以前用过strace。所以我可以根据要求发布 strace 输出的片段。

在某些方面,sudo apt-get install mono-complete 意味着安装 Mono Rumtime 环境。但这不是我在这里的意思。

答案1

mono-complete的描述是

Mono 是一个用于运行和开发基于 ECMA/ISO 标准的应用程序的平台。 Mono 是 Xamarin 领导的开源项目。 Mono提供了完整的CLR(公共语言运行时),包括编译器和运行时,可以生成和执行CIL(公共中间语言)字节码(又名程序集)和类库。

这是一个元包,包含 Mono 运行时、开发工具和所有库。

如果您想要运行 Mono 或 Microsoft .NET 软件,而您不是从 Debian 软件包安装,请安装此软件包。

mono-complete拉入mono-runtime所有可用的 Mono 库,包括提供数据库支持的任何 Mono 库(大概包括 MySQL 支持)。因此,您希望使用数据库的 .NET 软件能够与mono-complete.

mono-runtime仅包含 .NET VM 以及 JIT 和 AOT 代码生成器。如果您只安装了该软件,则没有多少 .NET 代码可以运行,并且使用数据库的 .NET 软件当然也不能运行。

答案2

这是对上面 Stephen Kitt 针对 Ubuntu Linux 16.04 的好答案的补充:

  1. monodis -- assemblyref ./Target.exe (C#)

  2. sudo apt install apt 文件

  3. apt 文件更新

  4. 对于步骤 1 中列出的每个程序集或 DLL:

    例如,apt-file 搜索 MySQL.Data

相关内容