对于它的价值, Mono 上不会出现这个问题:
[mono] /tmp @ dmcs par.cs
[mono] /tmp @ mono ./par.exe
您是否有 Windows 编译的二进制文件,以便我可以比较生成的 MSIL?我不相信这是一个仅限图书馆的问题,我很好奇:)
比较 IL 有点混乱,所以我决定在两个平台上尝试这两个二进制文件。呵呵,我恢复了我的旧 Windows 虚拟机只是为了测试这个 :)
在 Mono 上运行 VS 编译的二进制文件没有问题。您可以使用 2.10.1 (http://www.go-mono.com/mono-downloads/download.html) 在 Windows 上尝试,只有 77.4Mb :)
(我在 linux 上使用了自定义构建的 mono 2.11,因此可能是功能支持尚未完成)
\ run on platform: MS.Net 4.0 Mono 2.1x
built on: -------------+----------------------------------------
Visual Studio | deadlock no deadlock
|
MonoDevelop | deadlock no deadlock
我还注意到,在 Windows 上运行时,CTRL-C 能够解锁。如果我找到更多关于此的内容,将发布。
更新 2
好吧,即使在 Windows 上,安装 Mono 也会围绕安装 VSExpress 运行。安装单声道已在 4 分钟内完成,结果如下:
C:\Users\Seth>"c:\Program Files (x86)\Mono-2.10.1\bin\mono.exe" ConsoleApplication2.exe
C:\Users\Seth>
没有死锁 :) 现在剩下的就是等待安装 VSExpress(永远)并安装调试工具(未知),然后对其进行破解(可能直到深夜)。再见