Today, we are announcing updated versions of .NET Framework vNext, ASP.NET vNext, .NET Native and RyuJIT. You can try out these new releases by installing Visual Studio “14” CTP3. Please tell us what you think.
The .NET Framework vNext
We are releasing an early build of the .NET Framework vNext with Visual Studio CTP 3. This early release includes a relatively small number of changes beyond what we shipped in the .NET Framework 4.5.2. Today’s release includes a handful of bug fixes, including many for WPF.
.NET Framework vNext is currently only available via Visual Studio 14 CTP3. We will include a separate installer later in the year. The .NET Framework vNext is an in-place update on top of the .NET Framework 4 and later versions. It is supported on Windows Vista SP2, Windows Server 2008 SP2 and later versions. It does not yet have a “Go Live” license, so is not yet supported in production.
ASP.NET vNext is the new version of ASP.NET for web sites and services. We’ve continued to add new features and improve the development experience for ASP.NET vNext apps in Visual Studio “14”. It’s useful to recap what ASP.NET vNext offers, and why you should choose it for your next web platform.
- Unified and improved API for MVC and Web API (ex: one Controller class)
- Significantly improved startup and throughput performance
- Supported on the .NET Framework, enabling access to the breadth of .NET Framework APIs
- Supported on an optimized subset of the .NET Framework, enabling deployment flexibility (ASP.NET vNext is included with your app).
- Also runs on Mono, on Mac and Linux
For CTP 3, we added the following improvements.
Minimal Project Format
The kproj project format has been updated to not include a listing files. This aligns with the behavior of the runtime, which does not require a file list but relies on the file system. This change results in better workflow experiences:
- Easier source control merge experience, since the kproj file will not change as a result of adding, removing or renaming files.
- Natural experience for using both Visual Studio and the ASP.NET command-line environment, since neither environment needs a file list. This works well for developers working on their own, but particularly in groups, where some developers may need to work at the command-line.
Unit Testing Support
Initial support for unit testing has been added. Check out the image below. You can use any unit testing framework that you’d like. We have built initial support for xUnit that runs within the existing Visual Studio Test Explorer experience. There are some required steps for CTP 3 to get it setup. This experience will only get better in subsequent releases.
Scaffolding is an important part of ASP.NET, to generate new controllers and views. You can now use the initial support for scaffolding in ASP.NET vNext. We’ve taken a command-line first approach, such that the scaffolding system will work in the command-line environment and Visual Studio. You can also create your own custom scaffolding to generate whatever content you would like. We’re hoping to see a lot of scaffolding libraries show up on github over the coming months.
Update Home Repo
The Home repo is your ASP.NET home on github for the ASP.NET vNext command-line environment. It has been updated for CTP 3 with updated instructions, samples and scripts. There are a small number of simple ASP.NET vNext samples in the repo that are good to get started and to demonstrate that your command-line environment is working. We’d appreciate contributions of more samples, particularly those that exercise more of the product. We encourage pull requests.
The ASP.NET vNext Home repo also a great place to log issues for anything to do with ASP.NET vNext. Please tell us if you find something that isn’t working. We want to fix it.
.NET Native is integrated into Visual Studio 14 for the first time with CTP 3. This update of .NET Native also includes limited Windows Communication Foundation (WCF) support. You can now add service references to WCF services within a .NET Native app. Check out the image below.
Try out the following WCF types in CTP3. In some cases, support is not yet be complete, but we’re working on it.
Future updates of .NET Native will improve WCF support and compatibility. However, these target scenarios work today:
- Channel level programming (e.g. IRequestChannel)
- Client typed proxies (e.g. ChannelFactory<IMyService>)
- Add Service Reference (e.g. ClientBase<IMyService>)
- Basic request/reply using primitive types and DataContract types
- IClientMessageInspector extensibility point
RyuJIT – Next Generation JIT Compiler
We shipped an updated version of RyuJIT with ASP.NET vNext, within the CoreCLR runtime that it uses. We do not yet have a version of the SIMD library that works with CoreCLR, but will include that support in the library in a later release.
You can try out RyuJIT with .NET Framework vNext by using the RyuJit install instructions. We do have RyuJIT integrated into .NET Framework vNext in internal builds, so this support is coming.
Please download Visual Studio 14 CTP 3. It’s a great way to try out these new releases. Do recall that they are all still pre-release technologies, so they are not supported in production. Let’s recap them all.
You can try out each of these technologies in Visual Studio 14 CTP 3 in desktop, device, server and cloud apps. Please give them a try. We’d appreciate hearing about your experience and your suggestions.