对单声道附带的系统libariries的困惑

时间:2011-12-19 21:36:30

标签: mono

我已经安装了mono 2.10和monodevelop,并使用monodelveop来编写ubuntu下的一些应用程序。其中一些应用程序需要访问JavaScriptSerializer,它是System.Web.Script.Serialization命名空间的一部分。

为了能够实例化和使用JavaScriptSerializer,我不得不在monodevelop中添加对我的应用程序的引用 - 但我看到似乎有两个我可以选择的包:一个名为“system.web.extensions” “而另一个名为”mono“。

如果我使用第一个包(system.web.extensions),那么在使用JavaSerializer时会出现运行时错误。我尝试使用“mono”引用,它工作正常。

到目前为止一切顺利。但现在,我想在Windows下运行这个相同的应用程序,我得到System.Web.Exceptions的“无法加载程序集”错误。

我在这一点上感到困惑:为什么有两个软件包附带了mono / monodevelop用于其中一些程序集,以及我应该使用哪一个软件包以便跨平台?

谢谢! 迈克尔

1 个答案:

答案 0 :(得分:2)

  

为什么有两个包附带mono / monodevelop的软件包   这些集会?

Mono程序集是各种内部程序集:它们提供了.NET Framework中未包含的其他功能。系统程序集有时依赖于这些(即Mono.Web for ASP.NET Web服务)。

  

为了跨平台,我应该使用哪一个?

始终使用系统。 Mono程序集在.NET Framework下不可用(除非您手动发送)。

Mono 2.10提供了两个版本的System.Web.Extensions程序集:1.0.61025.0和4.0.0.0。一定要使用4.0版本。 如果问题仍然存在,您可以发布您的代码吗? (对我来说,使用JavaScriptSerializer没问题)