首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误CS0029:无法隐式将类型`Cairo.Context‘to `Cairo.Context’转换为单声道版本冲突

错误CS0029:无法隐式将类型`Cairo.Context‘to `Cairo.Context’转换为单声道版本冲突
EN

Stack Overflow用户
提问于 2013-04-05 22:35:07
回答 3查看 364关注 0票数 1

所以很明显,我的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上就不行了。

EN

回答 3

Stack Overflow用户

发布于 2013-04-07 00:08:30

你很有可能被我之前看到的同一个bug所攻击,它包含在Mono提供的一个有by的PC文件中。我修复了this commit中的问题,你可以尝试升级你的单声道吗?

票数 1
EN

Stack Overflow用户

发布于 2013-04-05 23:03:08

你需要有相同的Cairo.Context“版本”才能使用它。

您可以在您的案例中看到Cairo.Context,如下所示

与Cairo.Context

  • Cairo.Context 2.0中的
  1. 相比,Cairo.Context 4.0中的
  2. 有所不同,因为2.0 != 4.0

这是解释为什么你的代码不能工作的更好的方法。

你的帖子中提到的解决方案解释了这一点,并指定了如何修复要使用的版本,目的是在所有情况下都有好的版本,并避免问题。

票数 0
EN

Stack Overflow用户

发布于 2013-05-13 19:35:28

正如敲门所说,这种情况恰好对应于单声道中的固定bug。

我遇到了同样的问题,安装了新版本的mono修复了这些问题。由于它还没有集成到最新的ubuntu (13.04)中,我发现这个链接非常有用:http://www.meebey.net/posts/mono_3.0_preview_debian_ubuntu_packages/

这允许您安装较新的mono,而无需手动编译它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15836651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档