Mono Pkg-Config.exe继续崩溃?

时间:2016-12-18 06:47:55

标签: c# .net mono pkg-config

我是Mono的新手 - 以为我会尝试跨平台 - 我的主要IDE是Visual Studio,因此通过命令提示符构建应用程序的过程对我来说有点陌生。

我正在关注Mono Basics教程,并且已经达到了 Winforms Hello World 的程度。我复制了提供的代码并将其保存到.cs文件中(在桌面上)。

然后我打开了一个命令提示符并将其指向Desktop目录。我跑了命令:

mcs hello.cs -pkg:dotnet

结果是: Pkg-Config.exe not working

控制台告诉我这是一个CS8027错误,但没有别的。

我添加了3个环境变量,没有修复:

  • 路径 - > mono \ bin的路径
  • 路径 - > mono \ lib \ pkgconfig
  • 的路径
  • PKG_CONFIG_PATH - > mono \ lib \ pkgconfig
  • 的路径

每当我尝试使用pkg-config.exe时都会发生这种情况(尝试使用pkg-config.exe --list-all但出现了同样的问题)。

我已经检查了有关CS8027错误的其他答案/问题,但解决方案没有帮助 - 它仍然每次都崩溃!

4 个答案:

答案 0 :(得分:2)

有同样的问题。我安装了所有正确的VC ++运行时,但仍然崩溃了。

pkg-config.exe引用了以不同版本的.Net编译的librares(.dll)。您的PATH(或pkg-config本身)可能引用的版本与.dll使用的版本不同,或根本没有。

无论如何,pkg-config是一个简写。我通过明确地包含我正在使用适当版本的.Net引用的.dll来修复它:

mcs hello.cs -r:"C:\Program Files\Mono\lib\mono\4.5-api\System.Windows.Forms.dll"

答案 1 :(得分:1)

pkg-config使用不同版本的MSVC构建到Mono本身。您需要安装32位VC ++ 12运行时才能工作。那个应该包含在mono.msi中,按照https://github.com/mono/release/commit/8394dcc254510977c3e654abf916a48c6c6894fb

如果您检查Windows事件日志,则在“应用程序”下,您可能会获得有关哪些内容无效的更多信息。

答案 2 :(得分:0)

我有这个问题,可以帮助一些。

D:\Code\Mono>mcs hello.cs -pkg:dotnet
error CS8027: Error running pkg-config. Check the above output.

我需要从https://www.dll-files.com/

下载以下DLL:s
  • libiconv的-2.DLL
  • libgcc_s_sjlj-1.DLL
  • 的libintl-8.dll
  • libglib-2.0-0.dll

将它们放在C:\ Program Files \ Mono \ bin

即使Mono是64位,所有DLL也应该是32位。

答案 3 :(得分:0)

在我的系统中,问题是安装路径中的空白空间以及如何在pc文件中进行管理。

解决方法是编辑pc文件以将前缀条目更改为短路径。在我的系统中:

prefix=C:/PROGRA~1/Mono

而不是

prefix=${pcfiledir}/../..