我是Mono的新手 - 以为我会尝试跨平台 - 我的主要IDE是Visual Studio,因此通过命令提示符构建应用程序的过程对我来说有点陌生。
我正在关注Mono Basics教程,并且已经达到了 Winforms Hello World 的程度。我复制了提供的代码并将其保存到.cs文件中(在桌面上)。
然后我打开了一个命令提示符并将其指向Desktop目录。我跑了命令:
mcs hello.cs -pkg:dotnet
控制台告诉我这是一个CS8027错误,但没有别的。
我添加了3个环境变量,没有修复:
每当我尝试使用pkg-config.exe时都会发生这种情况(尝试使用pkg-config.exe --list-all但出现了同样的问题)。
我已经检查了有关CS8027错误的其他答案/问题,但解决方案没有帮助 - 它仍然每次都崩溃!
答案 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将它们放在C:\ Program Files \ Mono \ bin
中即使Mono是64位,所有DLL也应该是32位。
答案 3 :(得分:0)
在我的系统中,问题是安装路径中的空白空间以及如何在pc文件中进行管理。
解决方法是编辑pc文件以将前缀条目更改为短路径。在我的系统中:
prefix=C:/PROGRA~1/Mono
而不是
prefix=${pcfiledir}/../..