发布于 2014-08-13 00:01:52 | 197 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的精品教程,程序狗速度看过来!

Mono 跨平台的 .NET 运行环境

Mono是一个由Novell公司(由Ximian发起,并由Miguel de lcaza领导的,一个致力于开创.NET在Linux上使用的开源工程。它包含了一个C#语言的编译器,一个CLR的运行时,和一组类库,并实现了 ADO NET和ASP NET。能够使得开发人员在Linux用C#开发程序。)主持的项目.该项目的目标是创建一系列符合标准ECMA (Ecma-334和Ecma-335)的.Net 工具, 包括C #编译器和共同语言(CL 即 Common Language)执行平台(Platform).与微软的.Net不同, Mono项目不仅可以运行于Windows系统内,还可以运行于Linux, FreeBSD, Unix, Mac OS X和Solaris。


Mono 3.6 发布,此版本从上一个版本开始,包括了 878 个 commits,从 2014 年 3 月 10 日开始,就有 66 位贡献者参与开发,修复了 112 个 bug。

值得关注的更新

  • Runtime performance counters have been integrated into the profiler.

  • The profiler now produces backtrace for statistical mode. tracing mode now works on arm.

  • Big refactoring on the class library build. We're now much closer to having it build on windows without cygwin.

  • We now distribute nuget on mac.

调试器

  • It now support line and column ranges. pdb2mdb supports it.

  • It now supports for changing the current line in the top frame.

  • Lots of bugfixes and performance improvements.

  • The debugger now support reading simple properties without calling their getter.

  • Added buffered response mode to improve network efficiency on high latency links such as USB.

GC

The GC bridge got a lot of performance work. There are now two new modes that can significantly improve some workloads.

类库

  • Multiple http stack improvements.

  • System.IO.Compression is now implemented

  • System.Security.Claims

性能

  • Reworked locking to drop a hot lock in method lookup.

  • Use fine grained locking instead of a big hot lock.

  • Better hashing of some runtime internal items to avoid some corner-case slowdowns with generics.

配置器

  • It now produces backtraces in statistical mode.

  • Added periodical flushing that should help interactive users.

  • It now collects and reports performance counter information. See mprof-report.

Misc

  • Fixed the handling of the volatile. CIL prefix.

  • We now distribute ikdasm

  • Optimized EqualityComparer for more types.

  • Mono.Unix.Native.Syscall.getxattr() can now return Errno.ENOATTR on OS X.

  • Our msbuild implementation can now build Project K and Roslyn

Bug 修复

  • Add System.ServiceModel.Security assembly. Fixes #20108

  • [sdb] Avoid clearning event requests if they reference an assembly which is unloaded. Instead, remove the assembly reference from the event request so it stays active. Fixes #19924.

  • [mcs] Fix betterness logic for default vs params parameters. Fixes #19754

  • [mcs] Flow analysis of binary expressions not using logical operators. Fixes #20086

  • [mcs] Emit unmanaged version info from AssemblyFileVersion. Fixes #20057

  • [mcs] Fix expression tree conversion type for lifted enum equality comparisons. Fixes #19938

  • [mcs] Report error when named argument for param parameter is given but not all formal parameters are provided. Fixes #19878

  • [mcs] Unify reachable label lookup. Fixes #19887

  • [mcs] Don't release field address copy before it's used. Fixes #20040

  • [mcs] Fix error reporting propagation for loop statements. Fixes #20034

  • Rename configure.in -> configure.ac. Based on PR #976.

  • [System] Fix parsing of IPv6 addresses (bug #18574)

  • [mcs] Emit better code for null coalescing operator with nullable return type. Fixes #19702

  • [mcs] Add explicit array conversion involving type parameters. Fixes #18474

  • [Http]: Cleanup chained async operations; bug #19161.

  • [runtime] Clean up an #ifdef block.

  • [corlib] Add Guid hex format parsing with whitespaces. Fixes #19915

  • [System.Net.Http] Parsing productinfo like headers with missing version. Fixes #19881

  • [System] Throw IOE in more cases when dealing with an invalid Process object. Fixes #19864

  • [MWF] Fix opacity of form (#19856)

  • [MWF] Fix ComboBox list to not display offscreen (#15462)

  • [MWF] Fix Screen.FromRectangle (#8271)

  • [MWF] Implement multi-display support on Linux (Fixes #325669)

  • [runtime] Fix decoding of jagged arrays in custom attributes. Fixes #19825.

  • [MWF] Don't try to remove non-child control (#19818)

  • [MWF] Add unit test for #19818

  • [runtime] Avoid calling mono_thread_current () in sgen_thread_detach (), since it can construct objects. Fixes #19755.

  • [runtime] Avoid passing commands to lldb using the python api, it doesn't seem to work well in script files. Fixes #19732.

  • [runtime] Fix Process.TotalProcessorTime becoming negative. Fixes #19739.

  • [bcl] Fix Process.PrivateMemorySize64 on osx, we now return task_baic_info.resident_size. Fixes #19738.

  • Clean up the usage of FILETIME structures, avoid accessing them as gint64 since that would lead to alignment problems. Hopefully fixes #19739.

  • [sdb] Avoid stack overflows when a boxed vtype recursively references itself using fields. Fixes #18914.

  • [profiler] Filter more event types in mprof-report based on time (more xambug #11904).

  • [profiler] In mprof-report fix handling of the time filter when starting from 0 (xambug #11904).

  • [http] Convert string output data using BOM header when available. Fixes #19667

  • [system.net.http] Fix encoding of Content-MD5. Based on patch by nberardi. Fixes #19644

  • [sdb] Avoid placing implicit sequence points at offsets where the IL stack is empty when using symbol file based sequence points. Fixes #13640.

  • [eglib] Remove test-glib code, we don't have to maintain compatibility with glib any more. Fixes #19638.

  • [mcs] Don't report interface implementation errors for optional implementations. Fixes #18030

  • [corlib] Rethrow user not initialization exception when lazy initialization throws. Fixes #19564

  • [mcs] Include more unicode categories in parsing identifier part character. Fixes #18229

  • [MWF] Clear currentCell before disposing (fixes #19567)

  • [MWF] Unit test for DataGridView bug (#19567)

  • [mcs] Emit null constant value for default parameters of generic types to indicate not missing value. Fixes #19033

  • [mcs] Do type parameter conversion involving type parameters using dependency rules. Fixes #18473

  • [dlr] Emit correct code for convert of nullable types. Fixes #19500

  • [mcs] Emit all method like members in same order as they appear in source code. Fixes #19509

  • [mcs] Convert extended underlying enum constants to their underlying type. Fixes #18866

  • [mcs] Don't apply reference type is optimization for dynamic expressions. Fixes #19423

  • [mcs] Inflate anonymymous method with correct type arguments when async this requires hoisting in parent type. Fixes #19176

  • [mcs] Fix using type relationship check for type parameters. Fixes #18639

  • [mcs] Caching of type argument types should not happen under error conditions. Fixes #18282

  • [linq] Use hashtable lookup instead of linear scan for groupby keys. Fixes #18673

  • [mcs] Private member can still have base members when in nested types. Fixes #19378

  • [mcs] Make unused event warning reporting consistent to csc. Fixes #19095

  • [mcs] Add parent storey reference only when this is not captured directly. Fixes #19077

  • [MWF] Fix AutoSize behavior of FlowLayoutPanel (#2912)

  • [corlib] Fix extra await context switch when custom SynchronizationContext does not change. Fixes #17878

  • [XML] Fix bug #9541 by Bart Verthé - do not reset document schema when reading an element.

  • [system] Don't terminate response reading on bad cookie value. Fixes #18868

  • Fixed xamarin #18898 # / novell #595899 DataRowView indexer should not break on "completed" added rows (any rows other than the IsNew one)

  • [corlib] Defer TypeInfo instantiation logic in DefinedTypes. Fixes #19082

  • [jit] Fix an unreachable code part in mini_emit_memset (). Fixes #19083.

  • [jit] Fix the lookup of the AOT version of Interlocked.Exchange<T> in full-aot mode. Fixes #19070.

  • [llvm] Fix a few problems with longs on 32 bit platforms. Fixes #18925.

  • [runtime] Improve the hashing of MONO_TYPE_VAR/MONO_TYPE_MVAR. Hopefully fixes #18880.

  • [Mono.Security] Send all the certificates (except the root) from an SSL/TLS 'Server certificate' message (7.4.2 in RFC2246). Fixes #16974

  • Revert "[runtime] Improve the hashing of MONO_TYPE_VAR/MONO_TYPE_MVAR. Hopefully fixes #18880."

  • [System.Core] Don't auto increment when trimming hashset. Fixes #18687

  • [system.net.http] Close service-point slot on explicit dispose. Fixes #18848

  • [interpreter] Disable fast call invocation using methodinfo delegates due to aot limitation. Fixes #18688

  • [runtime] Improve the hashing of MONO_TYPE_VAR/MONO_TYPE_MVAR. Hopefully fixes #18880.

  • [corlib] Add SortVersion. Fixes #18770

  • [jit] Make generic ctor calls made out of gsharedvt methods indirect, since they cannot be patched. Fixes #18634.

  • [corlib] Make invariant NumberFormatter thread static too as it has internal static state. Fixes #18599

  • [corlib] Filter out any right-to-left sign characters. Fixes #18522

  • [Fix] Bugzilla #18213 - System.Runtime.Caching.MemoryCache doesn't honor SlidingExpiration

  • [System.Xml.Linq] Fix XNamespace.GetName locking to not be racy. Fixes #18564.

  • [jit] Fix rethrowing of exceptions in thumb mode. Fixes #18448.

  • [mcs] Fix recursive resolving of crefs (#18511)

  • [mcs] Adding unit test for #18511

  • [System.Net.Http] Incomplete byte ranges parsing. Fixes #18494

  • [corlib] Optimize EqualityComparer for common value types. Fixes #18400

  • [mcs] Flow analysis of nested binary expressions inside anonymous methods was missing on left/right reset. Fixes #18417

  • [mcs] Emit field initializer with expression tree in all user constructors. Fixes #18308

  • [System.ServiceModel.Web] Fix JsonQueryStringConverter.ConvertValueToString to work when running on any culture [#18437]

  • [System.XML] Fix handling of space in XSL value-of elements (#18113)

  • [System.XML] Fix XSL node-set bug (#18114)

  • [System.XML] Fix handling of global variables in XSLs (#18118)

  • [Fix] Bugzilla #18235 - System.Runtime.Caching.MemoryCache doesn't order expirable items correctly.

  • [Fix] Bugzilla #18182 - ConcurrentQueue<T>.TryPeek() is not thread safe

  • [sgen] Restore hazard pointers in suspend signal handler.  Fixes #15695.

  • [corlib] Fix localized resource loading bug (#14987)

  • [MWF] Fix crash from null control in ContainerControl (#10537)

  • [MWF] Fix TableLayoutPanel layout bug (#8907)

  • System/PCL: Implement HttpWebRequest.SupportsCookieContainer, WebRequest.CreateHttp;   Fixes #18378

  • [bxc#18361] mdbrebase: use File.Move instead of FileInfo.MoveTo

  • [MWF] Fix clipping of last line of dropdown (#2462)

  • [MWF] Release capture when clicking LinkLabel (Fixes #2787)

  • [MWF] Fix text position on buttons (#463149)

  • [MWF] Fix crash when setting Row.Height (Fixes #2394)

  • [MWF] Unit test for Row.Height/MinimumHeight bug (#2394)

  • [interpreter] Implement simple quote expression. Fixes #18248

  • [MWF] Fix size of text area on message box (Fixes #2090)

  • Fix setter of TableLayoutPanel.LayoutSettings throws unwanted exception (Novell bug #497562)

  • Add unit test for Novell bug #497562

  • [Fix] Bugzilla #18245 - System.Runtime.MemoryCache.GetValues() throws LockRecursionException with expired items - GetValues() calls MemoryCacheContainer.GetEntry() which now gets an EnterUpgradeableReadLock needed by ExpireIfNeeded() - Added a test case

  • [MWF] Fix hang if clipboard source application closes down (fixes #674098)

  • [Printing] Improve reported printer settings (Fixes #602934)

  • [Printing] Add unit test for Novell bug #602934

  • [Sys.Data] Fix Novell Bug #519648

  • [Sys.Data] Add unit tests for Novell bug #519648

Mono 是一个由Novell 公司主持的项目。该项目的目标是创建一系列符合ECMA 标准(Ecma-334 和Ecma-335)的.NET 工具,包括C# 编译器和共通语言执行平台。与微软的.NET Framework 不同,Mono 项目不仅可以运行于Windows 系统上,还可以运行于Linux,FreeBSD,Unix,Mac OS X 和Solaris。

Mono 的开发工具 MonoDevelop

微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure,Shared Source CLI)的可用于 FreeBSD,Windows 和 Mac OS X 的 .NET 实现版本。微软的共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途)。我们还可以见到另外一个 .NET 实现版本,Portable.NET 项目,该项目与 Mono 项目有着很多相同的目标。

Mono 虚拟机包含一个实时编译引擎,该引擎可用于如下处理器:x86,SPARC,PowerPC,ARM,S390(32位模式和64位模式),x86-64,IA64 和64位模式的 SPARC。该虚拟机可以将代码实时编译或者预先编译到原生代码。对于那些没有列出来的系统,则使用的是代码解释器。

下图是MONO的体系结构图

 



历史版本 :
Mono 5.0.1.1 发布,开源跨平台 .Net 框架
Mono 5.0.0.36 发布,开源跨平台 .Net 框架
Mono 4.8.0.459 发布,开源跨平台 .Net 框架
Mono 4.0 发布,开源跨平台 .Net 框架
Mono 发布 4.0 的发行说明,支持 C# 6.0
Mono 3.10.0 发布,跨平台 .NET 运行环境
Mono 3.8.0 发布,跨平台的 .NET 运行环境
Mono 3.6 发布,跨平台的 .NET 运行环境
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务