所以很明显,我的Mono.Cairo版本有冲突。我可以看到在/usr/lib/mono/gac/Mono.Cairo中有两个文件夹,一个用于2.0版,另一个来自4.0版。根据我在谷歌搜索结果上看到的,这导致了一场冲突。造成麻烦的代码行是using (Cairo.Context ctx = Gdk.CairoHelper.Create (area.GdkWindow))
显然,here已经回答了这个问题,但我不知道他们在说什么。所以我告诉你:有没有办法让dmcs使用无冲突的Cairo.Context?
我使用的是带有xmonad的Ubuntu 12.04,以及来自apt-get的最新版本的包mono-complete。
编译:dmcs -pkg:gtk-sharp -pkg:mono-cairo Teikniforrit.cs,Teikniforrit.cs是一个简单的绘画工具。mcs和gmcs对我来说从来都不起作用。我在Windows7上设置了mono,看看它是如何工作的,它在gmcs上运行得很好,但在mcs或dmcs上就不行了。
发布于 2013-04-07 00:08:30
你很有可能被我之前看到的同一个bug所攻击,它包含在Mono提供的一个有by的PC文件中。我修复了this commit中的问题,你可以尝试升级你的单声道吗?
发布于 2013-04-05 23:03:08
你需要有相同的Cairo.Context“版本”才能使用它。
您可以在您的案例中看到Cairo.Context,如下所示
与Cairo.Context
这是解释为什么你的代码不能工作的更好的方法。
你的帖子中提到的解决方案解释了这一点,并指定了如何修复要使用的版本,目的是在所有情况下都有好的版本,并避免问题。
发布于 2013-05-13 19:35:28
正如敲门所说,这种情况恰好对应于单声道中的固定bug。
我遇到了同样的问题,安装了新版本的mono修复了这些问题。由于它还没有集成到最新的ubuntu (13.04)中,我发现这个链接非常有用:http://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages/
这允许您安装较新的mono,而无需手动编译它。
https://stackoverflow.com/questions/15836651
复制相似问题