Announcing .NET Native Preview » Developer Team - The Best Site for Developers | Developer's Paradise

Announcing .NET Native Preview

Announcing .NET Native Preview


We’re thrilled to announce the first release of .NET Native. Windows Store apps start up to 60% faster with .NET Native and have a much smaller memory footprint. Our first release is a Developer Preview that allows you to develop and test apps with this new compiler. This preview release of .NET Native offers you the performance of C++ with the productivity of C#. .NET Native enables the best of both worlds!

Download the .NET Native developer preview today and tell us what you think. This developer preview currently enables building apps for Windows Store on ARM and x64 architectures (stay tuned for x86.) .NET Native will soon enable a consistent and converged experience across devices. Today's preview supports Windows Store applications. We will continue to evolve and improve native compilation for the range of .NET applications.

.NET Native continues to provide a first-class .NET developer experience in Visual Studio. You still get a great edit/compile/debug environment with productivity enhancers like Edit and Continue and code refactoring. You continue to upload MSIL app packages to the Windows Store. Our compiler in the cloud compiles the app using .NET Native in the Store, creating a self-contained app package that’s customized to the device where the app will be installed.

.NET Native optimizes Store apps for device scenarios in all stages of compilation. We optimized the .NET Native runtime (a refactored and optimized CLR) to make apps start faster and consume less memory. The .NET Native compiler uses the world-class Microsoft VC++ optimizer back-end to make your app run faster. .NET Native libraries are refactored and optimized for Store apps. And .NET Native has the capability to link in library code your app uses into the app, allowing the optimizer to work globally across your app’s code and library code. In the end, your app is optimized for your user’s device, whatever platform, architecture, OS or form factor it might be running. The end result –apps just get faster!

Some of the most popular Windows Store apps on Surface devices are already running on .NET Native. This includes applications such as Wordament and Fresh Paint, which are seeing multi-second startup wins.

Tune into the //BUILD conference for more details. Also, check out the Going Deep Channel 9 Video on .NET Native.
Getting started with .NET Native

The .NET Native developer preview installs on top of Visual Studio 2013 Update 2 RC.
Compiling with the .NET Native Toolchain

After your project is loaded, you can enable the .NET Native compiler. Make sure you’ve configured your app to compile for a specific architecture, x64 or ARM. .NET Native compiles to native code, so you need to target a real machine type instead of Any CPU. There are a few ways to do this—in the Solution Property Pages:



Once you’ve selected a supported machine type you’re ready to enable your project for .NET Native compilation. Right-click on the project name and you’ll see the “Enable for .NET Native” option has appeared. (OK, it was always there, but if you selected it without selecting x64 or ARM you’d get an error.)



Selecting this actually causes a few things to happen. First, it creates a new file for your project called “default.rd.xml”. This file contains runtime directives that help the .NET Native compiler understand what metadata and type information needs to be preserved in order for your app to run correctly, so things like reflection mostly just work, even though you are statically compiling everything!



Second, selecting “Enable for .NET Native” builds your app. Visual Studio will also run a static analysis tool on your app to give a quick read on whether you are using any feature that’s not yet in the preview release. This will generate a “.NET Native Code Generation Compatibility Report” that will pop up with information about your app. Also, you can always rerun the static analysis from your project’s context menu.

If your app is like most Store apps, you’ll see this in the Compatibility Report, meaning you’re ready to test your app thoroughly with .NET Native.





Executive Bloggers
Visual Studio
Application Lifecycle Management
Languages
.NET Framework
Platform Development

.NET Framework Blog

A first hand look from the .NET engineering teams
@dotnet @aspnet
Translate this page
MicrosoftВ® Translator
.NET Downloads

.NET NuGet Packages
.NET SDKS and Targeting Packs
.NET Developer Center

Upcoming .NET Meetups
DateTime Event Group
Wednesday, May 7th 2014 Xamarin, ServiceStack and Amazon for Great Apps, Fast! Seattle Mobile .NET Developers Group
Tuesday, May 6th 2014 CMAP Main Meeting - Cross Platform Mobile Dev with C# - Ed Snider Columbia, MD
Tuesday, May 6th 2014 Cross-platform mobile with F# & Xamarin (with NYC Mobile .NET and Rachel Reese) New York City F# User Group
Tuesday, May 6th 2014 1) Write cross-platform mobile apps with F# & Xamarin. 2) ??? 3) Profit! NYC Mobile .NET Developers Group
Wednesday, May 7th 2014 Windows 8.1 IT Camp Colorado Microsoft Developers
Next 50 .NET user group meetups
Tags

.net framework
announcement
asp.net
async
bcl
clr
diagnostics
fundamentals
nuget
performance
portable class libraries
releases

Recent Posts

Get your libraries ready for Windows Phone 8.1
Posted 5 days ago
Introducing the Microsoft .NET Framework Repair Tool
Posted 7 days ago
.NET Native Performance
Posted 11 days ago
Sharing code across platforms
Posted 15 days ago

Search this blog Search all blogs

Subscribe
Comments
Contact

Menu

Blog Home
Atom

More в–ј
Archives

April 2014 (10)
March 2014 (1)
February 2014 (4)
January 2014 (2)
December 2013 (2)

More в–ј
Live Now on Developer Tools BlogsLive Now on Developer Tools Blogs Feed
Import virtual machines or template operation of Microsoft Test Manager throws 'Object reference not set to an instance of an object’'
*New* video series on Windows Store App development using Visual Basic on Microsoft Virtual Academy
Cloud Power: How to scale Azure Websites globally with Traffic Manager
Announcing .NET Native Preview
Rate This
The .NET Team
2 Apr 2014 4:30 PM

109

This post was written by Subramanian Ramaswamy and Andrew Pardoe, Senior Program Managers on the .NET Native team.

We’re thrilled to announce the first release of .NET Native. Windows Store apps start up to 60% faster with .NET Native and have a much smaller memory footprint. Our first release is a Developer Preview that allows you to develop and test apps with this new compiler. This preview release of .NET Native offers you the performance of C++ with the productivity of C#. .NET Native enables the best of both worlds!

Download the .NET Native developer preview today and tell us what you think. This developer preview currently enables building apps for Windows Store on ARM and x64 architectures (stay tuned for x86.) .NET Native will soon enable a consistent and converged experience across devices. Today's preview supports Windows Store applications. We will continue to evolve and improve native compilation for the range of .NET applications.

.NET Native continues to provide a first-class .NET developer experience in Visual Studio. You still get a great edit/compile/debug environment with productivity enhancers like Edit and Continue and code refactoring. You continue to upload MSIL app packages to the Windows Store. Our compiler in the cloud compiles the app using .NET Native in the Store, creating a self-contained app package that’s customized to the device where the app will be installed.

.NET Native optimizes Store apps for device scenarios in all stages of compilation. We optimized the .NET Native runtime (a refactored and optimized CLR) to make apps start faster and consume less memory. The .NET Native compiler uses the world-class Microsoft VC++ optimizer back-end to make your app run faster. .NET Native libraries are refactored and optimized for Store apps. And .NET Native has the capability to link in library code your app uses into the app, allowing the optimizer to work globally across your app’s code and library code. In the end, your app is optimized for your user’s device, whatever platform, architecture, OS or form factor it might be running. The end result –apps just get faster!

Some of the most popular Windows Store apps on Surface devices are already running on .NET Native. This includes applications such as Wordament and Fresh Paint, which are seeing multi-second startup wins.

Tune into the //BUILD conference for more details. Also, check out the Going Deep Channel 9 Video on .NET Native.
Getting started with .NET Native

The .NET Native developer preview installs on top of Visual Studio 2013 Update 2 RC.
Compiling with the .NET Native Toolchain

After your project is loaded, you can enable the .NET Native compiler. Make sure you’ve configured your app to compile for a specific architecture, x64 or ARM. .NET Native compiles to native code, so you need to target a real machine type instead of Any CPU. There are a few ways to do this—in the Solution Property Pages:

clip_image001

Or in the handy dropdowns at the top of the editor window:

clip_image002

Once you’ve selected a supported machine type you’re ready to enable your project for .NET Native compilation. Right-click on the project name and you’ll see the “Enable for .NET Native” option has appeared. (OK, it was always there, but if you selected it without selecting x64 or ARM you’d get an error.)

clip_image003

Selecting this actually causes a few things to happen. First, it creates a new file for your project called “default.rd.xml”. This file contains runtime directives that help the .NET Native compiler understand what metadata and type information needs to be preserved in order for your app to run correctly, so things like reflection mostly just work, even though you are statically compiling everything!

clip_image004

Second, selecting “Enable for .NET Native” builds your app. Visual Studio will also run a static analysis tool on your app to give a quick read on whether you are using any feature that’s not yet in the preview release. This will generate a “.NET Native Code Generation Compatibility Report” that will pop up with information about your app. Also, you can always rerun the static analysis from your project’s context menu.

If your app is like most Store apps, you’ll see this in the Compatibility Report, meaning you’re ready to test your app thoroughly with .NET Native.

clip_image005

If your app uses many complicated patterns or yet to be implemented features (e.g., WCF), you might instead get some workarounds and guidance. We’ll dive into each and every topic but for now if you run into any issues, please send us feedback, either in the .NET Native forum or by emailing us directly at dotnetnative@microsoft.com.

We look forward to hearing from you! Get the new VS Update, download the .NET Native Tools, start making your apps faster and tell us what you think!

http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx


Information
Users of Guests are not allowed to comment this publication.