abp vnext_介绍ASP.NET vNext

abp vnext

abp vnext

There’s some really cool stuff going on on the ASP.NET and Web Tools team. The team has been pushing open stuff at Microsoft for a few years now and we've joined forces with the amazing innovators from the .NET core team and beyond! Some of these features are 10+ years in the making from a host of technical wizards across many teams and disciplines.

ASP.NET和Web工具团队中正在进行一些非常酷的事情。 团队几年来一直在Microsoft推动开放技术,我们已经与.NET核心团队及其他领域的杰出创新者携手合作! 其中一些功能是由许多跨多个团队和学科的技术向导制造的,已有10多年的历史。

Today we’re announcing a preview (read: alpha) of the next generation of .NET on the Server.

今天,我们宣布服务器上下一代.NET的预览(阅读:alpha)。

You may have heard about some of these announcements at Build:

您可能在Build上听说过其中一些公告:

ASP.NET vNext will take things to the next level. Today, you run ASP.NET using the same CLR that desktop apps use. We’re adding a cloud-optimized (my cloud, your cloud, their cloud - server stuff) version optimized for server scenarios like low-memory and high-throughput.

ASP.NET vNext将使事情更上一层楼。 今天,您可以使用与桌面应用程序相同的CLR运行ASP.NET。 我们将添加针对云服务器优化的云优化版本(我的云,您的云,它们的云-服务器内容),这些版本针对服务器场景(例如低内存和高吞吐量)进行了优化。

ASP.NET vNext will let you deploy your own version of the .NET Framework on an app-by-app-basis. One app with new libraries can’t break an app next door with a different version. Different apps can even have their own cloud-optimized CLR of their own version. The CLR and cloud-optimized libraries are NuGet packages!

ASP.NET vNext将使您可以在逐个应用基础上部署自己的.NET Framework版本。 具有新库的一个应用程序不能破坏具有不同版本的隔壁应用程序。 不同的应用甚至可以拥有自己版本的云优化CLR。 CLR和云优化库是NuGet软件包!

In this screenshot you can see build 418 and build 420 of the new framework (note how small they are) in my packages folder. These NuGet packages include the complete "Core CLR" and the cloud-optimized .NET Framework. You can deploy your own CLR and .NET Framework with your app as a NuGet.

在此屏幕快照中,您可以在我的packages文件夹中看到新框架的构建418和构建420(请注意它们的大小)。 这些NuGet软件包包括完整的“ Core CLR”和经过云优化的.NET Framework。 您可以将应用程序作为NuGet部署自己的CLR和.NET Framework。

Holy crap it's ASP.NET vNext

I can run ASP.NET vNext apps within Visual Studio, of course, and within IIS, but I can also easily "self-host" them from the command line or within my own application. This alpha includes command line tools for running and managing ASP.NET vNext apps.

我当然可以在Visual Studio中和IIS中运行ASP.NET vNext应用程序,但是我也可以轻松地从命令行或在自己的应用程序中“自我托管”它们。 此Alpha包含用于运行和管理ASP.NET vNext应用程序的命令行工具。

The "kvm" command allows me to control my environment. I run "kvm list" to see what versions of the ASP.NET vNext are available. I can switch between them on a per-environment basis:

“ kvm”命令允许我控制环境。 我运行“ kvm list”以查看可用的ASP.NET vNext版本。 我可以根据环境在它们之间切换:

C:\>kvm list

Active Version Runtime Architecture Location
------ ------- ------- ------------ --------
0.1-alpha-build-0418 svr50 x86 C:\Users\scottha\.kre\packages
* 0.1-alpha-build-0418 svrc50 x86 C:\Users\scottha\.kre\packages
0.1-alpha-build-0420 svr50 x86 C:\Users\scottha\.kre\packages
0.1-alpha-build-0420 svrc50 x86 C:\Users\scottha\.kre\packages

I set the active version with "kvm use version" and opened two command prompts, setting different CLR and .NET versions in each.

我使用“ kvm use version”设置了活动版本,并打开了两个命令提示符,分别在其中设置了不同的CLR和.NET版本。

I’m running the same app twice, once per command prompt. I put version 420 on port 5420 and version 418 on port 5418.

我运行同一应用两次,每个命令提示符一次。 我在端口5420上放置了420版本,在端口5418上放置了418版本。

Two Command Prompts two .NET Frameworks

This little app below outputs the current running version of ASP.NET vNext. Here I’m running the same app at the same time under different builds of the next generation of ASP.NET

下面的这个小应用程序输出当前正在运行的ASP.NET vNext版本。 在这里,我在下一代ASP.NET的不同版本下同时运行同一应用程序

Two URLs two .NET Frameworks

The project system is also changing - we’re integrating packages.config, NuGet specifications (nuspec), and project files (csprojs) into a unified view of your project dependencies expressed in a project.json file.

项目系统也在发生变化-我们正在将packages.config,NuGet规范(nuspec)和项目文件(csprojs)集成到以project.json文件表示的项目依赖项的统一视图中

NuGet packages and class libraries are treated the same. You get full intellisense in the project.json file and NuGet packages come down automatically and transparently. Even better, let’s say NuGet package Foo.Bar has a bug but you’ve only got the NuGet package. You can make a folder called Foo.Bar in our local project and put the source via "git clone" in that folder. This is great for open source projects. That local version overrides the NuGet, allowing you to easily patch bugs locally in libraries while you wait for a new release. When a new fixed NuGet-distributed version shows up, update the version and delete the local source.

NuGet包和类库的处理方式相同。 您会在project.json文件中获得完整的intellisense,NuGet软件包会自动透明地降级。 更好的是,假设NuGet软件包Foo.Bar有一个错误,但是您只有NuGet软件包。 您可以在我们的本地项目中创建一个名为Foo.Bar的文件夹,然后通过“ git clone”将源文件放入该文件夹中。 这对于开源项目非常有用。 该本地版本将覆盖NuGet,使您可以在等待新版本时轻松地在库中本地修补错误。 当出现新的固定的NuGet固定发行版本时,请更新该版本并删除本地源。

New project system

One of the great aspects of environments like node or rails is that they are "no compile." Just change some code and hit refresh. With the next version of ASP.NET you get the power and throughput of the .NET runtime plus the "Roslyn" compiler-as-a-service for a "no-compile compile." That means means during development time you can just change your C# classes and hit Refresh in the browser. It's the power of .NET with the dynamism of a refresh-and-go development experience.

诸如节点或导轨之类的环境的重要方面之一是它们“没有编译”。 只需更改一些代码,然后单击刷新即可。 在下一版本的ASP.NET中,您将获得.NET运行时的强大功能和吞吐量,并获得了“ Roslyn”即服务即编译器的“无编译”编译能力。 这意味着在开发期间,您只需更改C#类并在浏览器中单击“刷新”即可。 这是.NET的强大功能,具有不断更新的开发经验。

NOTE: This isn't ASP.NET Websites, or Razor View compilation - this is the whole thing, compiled in memory. You can use Visual Studio for development, or text editors like Sublime, or freakin' Notepad. (Of course, if you want assemblies on disk, you can do that too.)

注意:这不是ASP.NET网站或Razor View编译-这是整个事情,都是在内存中编译的。 您可以使用Visual Studio进行开发,也可以使用文本编辑器(例如Sublime)或freakin'Notepad。 (当然,如果要在磁盘上安装程序集,也可以这样做。)

See my web app’s bin folder in the screenshot below? There’s no assemblies in there because the assemblies never exist on the disk. It’s actually faster and easier to have the compiler do all the work in memory. This way you don’t have to read source, write out dlls, then read the dlls in again. (That DLL is part of the magic that makes it all happen.)

在下面的屏幕截图中看到我的Web应用程序的bin文件夹? 那里没有程序集,因为程序集从不存在于磁盘上。 让编译器在内存中完成所有工作实际上更快,更容易。 这样,您不必读取源代码,写出dll,然后再次读取dll。 (该DLL是使这一切实现的魔力的一部分。)

No binaries on disk!

If you like, when your web projects build for deployment, they can also build as NuGet packages. You publish your project and every needed dependency comes along.

如果愿意,在构建Web项目进行部署时,它们也可以作为NuGet包进行构建。 您发布项目,每个需要的依赖项都会随之而来。

You’ll be able to put ASP.NET vNext on your existing servers, any hoster, and Azure of course.

您将能够将ASP.NET vNext放置在现有服务器,任何主机和Azure上。

You can opt in or out of the cloud optimized framework for compatibility. The next version of ASP.NET is modular and all about choice. your choice of framework, your choice of runtime, your choice of operating system, your choice of text editor.

您可以选择加入或退出云优化框架以实现兼容性。 下一版本的ASP.NET是模块化的,并且全都可供选择。 您选择的框架,运行时的选择,操作系统的选择,文本编辑器的选择。

ASP.NET vNext是: (ASP.NET vNext is:)

  • Cloud and server-optimized

    云和服务器优化
  • ASP.NET MVC and Web API have been unified into a single programming model

    ASP.NET MVC和Web API已统一为一个编程模型
  • No-compile developer experience

    无需编译的开发经验
  • Dependency injection out of the box

    开箱即用的依赖注入
  • Side by side - deploy the runtime and framework with your application

    并排-与您的应用程序一起部署运行时和框架
  • NuGet everything - even the runtime itself

    NuGet一切-运行时本身
  • All Open Source via the .NET Foundation and takes contributions

    通过.NET Foundation的所有开放源代码并做出贡献

Oh, and by the way

哦还有

  • ASP.NET vNext (and Rosyln) runs on Mono, on both Mac and Linux today. While Mono isn't a project from Microsoft, we'll collaborate with the Mono team, plus Mono will be added to our test matrix. It's our aspiration that it "just work."

    ASP.NET vNext(和Rosyln)在Mac和Linux上的Mono上运行。 虽然Mono不是Microsoft的项目,但我们将与Mono团队合作,并将Mono添加到我们的测试矩阵中。 我们的愿望是“行之有效”。
ASP.NET on a Mac

There will be lots of new information and details coming out over the next several months!

在接下来的几个月中,将会有很多新的信息和细节!

翻译自: https://www.hanselman.com/blog/introducing-aspnet-vnext

abp vnext

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值