[搬运] DotNetAnywhere:可供选择的 .NET 运行时

原文 : DotNetAnywhere: An Alternative .NET Runtime
作者 : Matt Warren
译者 : 张很水

我最近在收听一个名为 DotNetRock 的优质播客,其中有以 Knockout.js 而闻名的 Steven Sanderson 正在讨论 " WebAssembly And Blazor "

也许你还没听过, Blazor 正试图凭借 WebAssembly 的魔力将 .NET 带入到浏览器中。如果您想了解更多信息,Scott Hanselmen 已经在 " .NET和WebAssembly——这会是前端的未来吗? "一文中做了一番介绍。( 点击查看该文的 翻译 )。

尽管 WebAssembly 非常酷炫,然而更让我感兴趣的是 Blazor 如何使用 DotNetAnywhere 作为底层的 .NET 运行时。本文将讨论DotNetAnywhere 是什么,能做什么,以及同完整的 .NET Framework 做比较。


DotNetAnywhere

首先值得指出的是,DotNetAnywhere (DNA) 被设计为一个完全兼容的 .NET 运行时,可以运行被完整的.NET 框架编译的 dll 和 exe 。除此之外 (至少在理论上) 支持 以下的 .NET 运行时的功能,真是令人激动!

  • 泛型
  • 垃圾收集和析构
  • 弱引用
  • 完整的异常处理 - try/catch/finally
  • PInvoke
  • 接口
  • 委托
  • 事件
  • 可空类型
  • 一维数组
  • 多线程

另外对于 反射 提供部分支持

  • 非常有限的只读方法
    typeof(), GetType(), Type.Name, Type.Namespace, Type.IsEnum(),
posted @ 2018-02-09 21:07  张蘅水  阅读(1411)  评论(7编辑  收藏  举报