Updated (July 2015): See Announcing .NET Framework 4.6 to read about the final version of the .NET Framework 4.6.
Today is a pivotal moment for .NET. With the release of .NET 2015 Preview, we are embarking on a new journey while maintaining our strong commitment to the 1+ billion customers that are using .NET today.
As Scott Guthrie and S. ‘Soma’ Somesegar announced at the Connect(); event today, .NET is entering a new era as it embraces open source as a core principle and enables .NET applications to run on multiple operating systems. As part of .NET 2015 Preview, we are delivering .NET Core 5 which is a completely open source stack and can run on multiple operating systems. In addition, not only are we contributing .NET Core 5 to the .NET Foundation but we will openly collaborate with the community and ensure that we continue our strong relationship with existing .NET open source communities, in particular the Mono community. Here are a set of announcement around open source and cross platform from today’s Connect(); event:
- .NET Core 5 is open source on GitHub
- Microsoft will support .NET Core 5 on Windows, Linux and Mac.
- Microsoft has contributed .NET Core 5 to the .NET Foundation
- .NET Framework 4.6 reference source now uses the MIT license
- Renewed collaboration with the Mono Project
.NET Core 5 is the small optimized runtime for ASP.NET 5. It currently runs on Windows, and will be extended to Linux and Mac. You will have more choice of which operating systems you use for ASP.NET 5 development and deployment, supported by Microsoft. Azure will support ASP.NET 5 in both Linux and Windows VMs. You choose.
If you are already done reading and want to download the updates or check out our open source projects, please use the following links:
- Visual Studio 2015 Preview (Visual Studio team blog post)
- .NET Framework 4.6 Preview
- ASP.NET 5 Open Source (ASP.NET Team blog post)
- .NET Core 5 Open Source
- .NET Framework Reference Source
- .NET Foundation Forum for .NET Open Source
With this release of .NET, we are making major new investments in the future of .NET and laying the foundation for decades to come. We are calling today’s set of releases “.NET 2015 Preview”. The year denotes a single umbrella release that provides a cohesive experience and unifies the family of .NET technologies. It also helps us talk about all the releases that come out at the same time.
You can find more information on all of the following topics in this post:
- .NET Open Source
- .NET Foundation
- .NET Core 5
- .NET Framework 4.6
- RyuJIT
- Windows Presentation Foundation
- Visual Studio 2015 IDE improvements for .NET
- C# and VB language innovations
- ASP.NET 5
- .NET Reference Source
- Entity Framework
- NuGet
.NET Open Source
Microsoft has a history of sharing .NET developer products as open source, including ASP.NET, Roslyn, NuGet, Entity Framework and Azure projects. You can now add .NET Core and .NET Framework reference source to that list.
We’re in the process of opening up all of .NET Core. Today, we’re publishing a few libraries, as a kind of down-payment. Expect to the see the corefx repo fill up over the next coming months and for a coreclr repo to appear. We’ll keep you up to date, here on the dotnet blog.
We’ve been joking that we’re going to “burn the ships”, meaning that we won’t be able to do development on .NET Core via internal Microsoft infrastructure anymore, only on GitHub. That’s what we’re working to make happen, that .NET engineers use the same tools that everyone else uses. We intend to use Pull Requests (PRs) for code reviews, use GitHub issues for bug tracking and post ideas to the .NET Foundation forums for discussion.
We’ve made .NET Framework Reference Source available for many years. We’re publishing the BCL reference source on GitHub under the MIT license.
.NET Framework Reference Source is an excellent and large source of .NET library code for improving both .NET Core and Mono. While we are using an open source license for .NET Reference source, we will not be taking PRs to that codebase. It’s a very large and mature codebase that is challenging to update without a lot of context and knowledge of our compatibility constraints. We believe that .NET Core is the best project for the community to engage on.
When it comes to .NET and open source, there are a key set of questions that are easiest to handle in a Q&A format. These are captured below. Please use the comments section for any additional questions.
What open source license is Microsoft using for .NET Core?
MIT.
What can you do with the software? Are there restrictions?
The MIT license plainly states that licensed software can be used “without restriction”.
Where is the code hosted?
The source code for .NET Core is hosted on GitHub, within the .NET Foundation org. You can find other .NET open source projects from Microsoft at the dotnet home repo.
Will the .NET team accept PRs?
Yes, starting today. Here’s our guidance on contributing to .NET Core.
Why isn’t all the code available today?
One of the core promises around .NET open source is that any developer can build, test and run the code. To make this happen, we need to make sure that the engineering system is setup appropriately.
I see that .NET Core has been contributed to the .NET Foundation. Does that change my relationship with Microsoft for support?
Contributing .NET Core to the .NET Foundation is a statement of Microsoft’s commitment to open source. Your relationship with Microsoft remains unchanged. In the simplest terms, we’ve merely moved our source code repository to a public location and adopted a liberal open source license. .NET remains fully supported and will be serviced by Microsoft as it always has been.
What does this open source project mean for the Mono Project?
It means that Microsoft will be much more collaborative with the Mono Project and will encourage Mono developers to both take source from .NET Core to apply to Mono and do the same in reverse.
.NET Foundation
We announced the creation of the .NET Foundation earlier this year, to foster further innovation across the .NET ecosystem. The Foundation started with several projects and then added several more over sine it was established. Today, the foundation is announcing new additions:
- .NET Core 5
- ASP.Net Ajax Library
- Kudu
- Mono.Cecil
- NuGet
- Orchard
- Thinktecture IdentityServer and IdentityManager
The addition of .NET Core into the foundation is a seminal moment. It means that the combination of .NET Core and all of the other projects that run on top of it represent a complete open source developer stack. Other programming platforms have complete open source stacks, and so too does .NET now.
The Foundation now has forums. Both the .NET Core and Mono Project teams have expressed interest in using these forums. Watch the forums for design, execution and strategic discussions. You might even catch Miguel de Icaza hanging out there, possibly posting on .NET support for Linux.
.NET Core 5
We first announced .NET Core 5 in April at TechEd North America as a “cloud optimized” version of .NET. We’ve now re-named this “.NET Core”, since it contains the core features of the .NET Framework and is also significantly smaller.
The focus and value of .NET Core is three-part: deployment, open source and cross-platform. We want to provide a version of .NET that you can use where you want and upgrade it when you want. You can use it on-premise, in Microsoft Azure as well as other cloud providers. You can use it on Windows, Linux or Mac. You can upgrade your apps (including .NET Core itself) to meet your business needs, independent of other apps that are running on a machine. You can modify .NET Core to support new scenarios or add features, and contribute those changes to .NET Core on GitHub.
.NET Core is very much in the same family as the .NET Framework. For example, the SIMD and Immutable Collections NuGet packages work on both the .NET Framework and .NET Core, by design. You can expect that most aspects of your development experience will be unchanged when targeting .NET Core. .NET Core has some great characteristics, but it should be considered an evolution of what we’ve been doing with the .NET Framework. With that in mind, we chose an evolutionary approach for versioning .NET Core, which is why it is version 5, the next whole number after 4.6, the latest version of the .NET Framework.
ASP.NET 5 is the first workload that has adopted .NET Core. ASP.NET 5 runs on both the .NET Framework and .NET Core. A key value of ASP.NET 5 is that it can run on multiple versions of .NET Core 5 on the same machine. Website A and website B can run on two different versions of .NET Core on the same machine, or they can use the same version. It’s up to you. Due to its smaller footprint, there are also some performance benefits that are specific to .NET Core, however, most of the ASP.NET 5 performance benefits apply to both the .NET Framework and .NET Core.
.NET Core has two major components. It includes a small runtime that is built from the same codebase as the .NET Framework CLR. The .NET Core runtime includes the same GC and JIT (RyuJIT), but doesn’t include features like Application Domains or Code Access Security. The runtime is delivered via NuGet, as part of the ASP.NET 5 core package.
.NET Core also includes the base class libraries. These libraries are largely the same code as the .NET Framework class libraries, but have been factored (removal of dependencies) to enable us to ship a smaller set of libraries. These libraries are shipped as System.* NuGet packages on NuGet.org.
As we update core components like the GC, JIT and base class libraries, we intend to include those improvements in both the .NET Framework and .NET Core. The use cases for those components are the same in both cases, as is the need for regular improvement. The .NET Core NuGet libraries will follow a similar pattern, running on the latest versions of the .NET Framework and the .NET Core runtime.
.NET Framework 4.6
The .NET Framework 4.6 is the next version of the .NET Framework. Leading up to the Preview release, we had been using .NET Framework 4.5.3, however since the payload includes significant features and improvements, we bumped up the version to clearly communicate the magnitude of changes. Note that in the Preview release, you’ll still see instances of “4.5.3” in the .NET Framework and Visual Studio version information. We will be updating these in future releases.
There are many great features in the .NET Framework 4.6 Preview, which you can use today. These range from new WPF features to RyuJIT as well as productivity enhancements in Visual Studio.
WPF Improvements and Roadmap
Today, the WPF team announced the roadmap for the WPF platform. Their post defines the areas of investment in future releases of WPF and details the current progress of improvements made to the WPF platform in the .NET Framework 4.6 and Visual Studio 2015.
The team has made key improvements to WPF in this release:
- Transparent child windows
- Multi-image cursor files
- Re-designed Blend experience
- New set of Visual Diagnostics tools
- Timeline tool in the Performance and Diagnostics hub
The team has also fixed a set of customer reported issues. The best place to ask WPF questions or engage with the team is in the comments of the WPF team post.
Windows Forms High DPI
Windows Forms High DPI support has been updated to include more controls. The .NET Framework 4.5.2 included high DPI support an initial set of controls.
This feature has been expanded to include: DataGridView, ComboBox, ToolStripComboBox, ToolStripMenuItem, Cursor, DomainUpDown, NumericUpDown, DataGridViewComboBoxColumn, DataGridViewColumn and ToolStripSplitButton types.
This is an opt-in feature. To enable it, set the EnableWindowsFormsHighDpiAutoResizing element to true in the application configuration (app.config) file:
<appSettings>
<add key=”EnableWindowsFormsHighDpiAutoResizing” value=”true” />
</appSettings>
Next Generation JIT Compiler — RyuJIT
This release includes a new version of RyuJIT, the 64-bit JIT Compiler. It is enabled by default for 64-bit processes.
- Correctness – We’ve been focusing on fixing correctness bugs, using various Microsoft cloud workloads to validate RyuJIT. This approach has been working well, since the Microsoft cloud is a very heavy user of .NET.
- Real-World Throughput – The Bing team recently started using RyuJIT on some of their search-related workloads. Based on their initial experiments, they have seen a 25% improvement in startup time, which is a significant win.
- SIMD Improvements – We created the SIMD .NET library in unison with RyuJIT so that RyuJIT could optimize the SIMD types. Lately, we’ve been tuning our use of registers in the RyuJIT SIMD optimizations. CPUs can crunch numbers much faster in registers, since they are effectively memory on the CPU.
While we have tried to make the transition to the new JIT compiler as transparent as possible, we also understand that there may be compatibility issues. If your application produces an undesired behavior on RyuJIT, you can try disabling RyuJIT, which switches your application back to using the previous JIT to determine if the problems you are seeing are caused by RyuJIT. If you come across any RyuJIT related issues, please tell us about it.
CLR Performance Improvements
The assembly loader now uses memory more efficiency by unloading IL assemblies after a corresponding NGEN image is loaded. This change is a major benefit for virtual memory for large 32-bit apps (such as Visual Studio) and also saves physical memory.
Support for converting DateTime to or from Unix time
New methods have been added to support converting DateTime to or from Unix time. This can be necessary, for example, when converting time values between a JavaScript client and .NET server. The following APIs have been added to DateTimeOffset.
- static DateTimeOffset FromUnixTimeSeconds(long seconds)
- static DateTimeOffset FromUnixTimeMilliseconds(long milliseconds)
- long ToUnixTimeSeconds()
- long ToUnixTimeMilliseconds()
ASP.NET Model Binding supports Task returning methods
ASP.NET Model Binding methods that were previously returning Task were not supported and threw an exception at runtime. With .NET Framework 4.6, if applications are deployed with such methods, these methods will now be executed correctly.
Channel support for managed EventSource instrumentation
You now can use .NET EventSource instrumentation to log significant administrative or operational messages to the event log, in addition to any existing ETW sessions created on the machine
.NET Language Innovation
In this release, several new C# and Visual Basic language features help reduce boilerplate and clutter in everyday code, encourage a more declarative style of programming, and bring the two languages even closer together. The features listed below will be available to both languages in the final release. A few highlights are shared below. Checkout the C# and VB Team blogs for all the details.
- Methods, getter-only properties etc. can now have a single expression as their body, just like lambdas.
- Nameof provides a refactoring-safe way of getting the name of e.g. a parameter, member or type as a string.
- Auto-properties can have initializers and no longer require setters.
- Index initializers Inside an object initializer you can now initialize a specific index of the new object. C# only.
- Exception filters let you look at an exception and decide whether to catch it with a given catch block.
- Using null-conditional operators you can get a built-in null check while accessing and invoking members and indexers.
- Using clauses for static classes bring their static members directly into scope, so you can. call e.g WriteLine() or Sqrt() without prefixing with the class name.
- Await now works in catch and finally blocks, obviating some very tricky workarounds.
- String interpolation: String interpolation provides a concise way of describing string templates that insert expressions into format strings (C# only at Preview, both VB and C# at RTM).
Visual Studio Improvements for .NET
The Visual Studio Team has added some key improvements for .NET. The biggest one of those isn’t a technical change, but a change in the product offerings.
Visual Studio Community
There is now a new Visual Studio edition that is very similar to Pro and free for students, open source developers and many individual developers. It supports Visual Studio plugins like Xamarin or Resharper. The Visual studio blog has all the details on Visual Studio Community.
PerfTips
Building high-performance apps can be hard. .NET gives you many great building blocks such as threads, async and a whole team at Microsoft that is continually improving the underlying performance of .NET. Still, performance can be a challenge. The Visual Studio team has built something truly great for determining the performance characteristics of your code and to help discover performance bottlenecks. PerfTips allow you to quickly and easily see performance bottlenecks as you are debugging your application.
Intuitive Breakpoint Settings
Pretty much all .NET developers have wanted some kind of smarter breakpoints. The new and intuitive breakpoint settings make it a lot easier to change the behavior of breakpoints. Check out the Visual Studio Diagnostics blog for more details.
Setting breakpoints on auto-implemented properties
Auto-implemented properties are a great convenience feature and this they have been around for a long time. However, there was no debugger support, until now. Visual Studio 2015 allows you to now set breakpoints in auto-implemented properties and step through the property, as shown below.
Lambdas in the debugger windows
Lambdas are now supported in debugger windows, per this user voice request. To support lambda expressions as well as support new Roslyn-provided language features, the team had to completely rewrite the C# and Visual Basic expression evaluators. The example below drives home the point that the extra work was well worth it as you can now inspect lambdas in various debugger windows
Core IDE and Editing Improvements
The core IDE and editing experiences for C# and Visual Basic have been replaced with new experiences built on the .NET Compiler Platform (“Roslyn”). In general, the experience should be unchanged, but there are numerous small improvements.
- Light Bulbs are the new home for all quick actions you take in the Visual Studio editor, including fixes to common code issues and refactoring code. When you have issues in your code, a Light Bulb displays suggested fixes for those issues. All refactoring operations have been moved to the Light Bulb, which you can access any time by typing Ctrl + <dot>. There are two new core refactoring operations: Inline temporary variable and Introduce local.
Here’s an example of the new Introduce local feature:
And an example of Inline temporary variable:
- Refactoring support for Visual Basic has been added for the first time, and has also been moved to the Light Bulb.
- The expression evaluator for C# and Visual Basic has been rewritten. Improvements include support for LINQ and lambda expressions in the Watch and Immediate Windows.
- The Error List has been rewritten to support filtering on any column. We’ve made the Error List scalable enough to show you a live view of errors, warnings and code analysis across your entire C# or VB solution as you type, even when a code change produces thousands of warnings.
- You can get live code analysis and automatic fixes as you type, with specific code-aware guidance for the Microsoft platforms and NuGet packages that you’re targeting.
ASP.NET 5
ASP.NET 5 is the new Web stack for .NET. It unifies MVC, Web API and Web Pages into a single API called MVC 6. You can create ASP.NET 5 apps in Visual Studio 2015 Preview. You can also try the more command-line-oriented approach, by checking out the ASP.NET home repo, to build apps on Windows, Linux or Mac.
ASP.NET 5 has the following overall characteristics. That’s a lot.
- ASP.NET MVC and Web API, which have been unified into a single programming model.
- A no-compile developer experience.
- Environment-based configuration for a seamless transition to the cloud.
- Dependency injection out-of-the-box.
- NuGet everything, even the runtime itself.
- Run in IIS, or self-hosted in your own process.
- All open source through the .NET Foundation, and takes contributions in GitHub.
- ASP.NET 5 runs on Windows with the .NET Framework or .NET Core.
- .NET Core is a new cloud optimized runtime that supports true side-by-side versioning.
- ASP.NET 5 runs on OS X and Linux with the Mono runtime.
We’ve updated the ASP.NET 5 developer experience with each Visual Studio 2015 CTP. You can read the details of the experience in Visual Studio Preview ASP.NET blog post. The following are some highlights.
ASP.NET 5 is now integrated into the “One ASP.NET” new project experience.
ASP.NET 5 supports running on both the .NET Framework and .NET Core. IntelliSense has been expanded to provide extra information where the BCL APIs differ. .NET Core is intentionally smaller, in order to provide additional deployment benefits.
Dependencies node for Bower and NPM dependencies
ASP.NET projects now integrate Bower and NPM into solution explorer, under a new dependencies node. You can uninstall a package through the context menu command, which will automatically remove the package from the corresponding JSON file.
Entity Framework
Entity Framework 6.x
This release includes the EF6.1.2-beta1 version of the runtime and tooling. EF6.1.2 is mostly about bug fixes, you can see a list of the fixes included in EF6.1.2 on our CodePlex site.
The Entity Framework 6.1.2 runtime is included in a number of places in this release.
· The runtime will be installed if you create a new model using the Entity Framework Tools in a project that does not already have the EF runtime installed.
· The runtime is pre-installed in new ASP.NET projects, depending on the project template you select.
Entity Framework 7
EF7 is a lightweight and extensible version of EF that enables new platforms and new data stores. You can read more about EF7 in a recent EF7 – New Platforms, New Data Stores blog post. For more information about getting started with early previews of EF7, see our getting started page.
This release includes an early preview of the EF7 runtime that is installed in new ASP.NET 5 projects. This build of EF7 implements basic functionality and there are a number of limitations with the features that are implemented. Please bear in mind that this preview is designed to give you an idea of what the experience will be like and you will quickly hit limitations if you deviate from the code from the default project template.
Nuget Package Manager
The Nuget Package Manager has been rewritten using the tool window style and can be viewed per project and solution. Each project can open a NuGet Package Manager window at the same time. This change applies to all type of projects that uses Nuget Package Manager. It’s also a lot nicer to look at.
Closing
.NET 2015 Preview and Visual Studio 2015 Preview include many new enhancements that should help you in ever day development. .NET Framework 4.6 is the next update for building Windows desktop and server and cloud apps. The WPF, RyuJIT and ASP.NET 5 updates are likely welcome improvements for many of you.
The open source and cross-platform announcements for .NET Core 5 enable new scenarios and new community engagement. We’re excited to contribute .NET Core 5 to the .NET Foundation. It is great to see the .NET Foundation growing, with community and Microsoft projects.
As always, please share your feedback in the comments. We want to know what you think about the new releases and the .NET Core 5 open source and cross-platform news.
Can't wait to use it.
Thank you!
Glad you guys like it. We're all INCREDIBLY excited right now.
awesome!
This is exciting news! I am a bit confused about the relationship between .NET Core vs. other flavors. From an API perspective, .NET Core seems to be a subset of the full .NET Framework, that happens to run on cross-platform servers. Is it the same subset that works on Windows Phone, WinRT, Silverlight, and the Xamarin-based platforms? Or are those different subsets? The name "Core" implies it would be shared subset across all the flavors of .NET. Similarly, does the full .NET framework build on top of the Core framework, or is it a separate, parallel codebase?
Obviously it would make sense to have the core APIs be available everywhere, with extensions for server, desktop (e.g. WPF), WinRT APIs, etc. I guess the nomenclature is just a bit confusing since there have been so many incompatible subsets over the years.
Awesome, great job! Hopefully this will enable developers to jump into the .NET environment and have a great experience while on it.
Are Visual Studio 2014 and .NET 4.5.3 dead – have they been superseded by Visual Studio 2015 and .NET 4.6?
Does it mean to bring more fragmentation to the framework and "unstable" code base even for base core stuff (System, Text, Threading, IO, Threads, XML etc.) ? Currently components like Entity Framework that are no longer part of .NET installation changes in short cycles over and over. The result is you can hardly use it for long-time serious projects. Also it leads to lack of good documentation. I understand it sounds "cool" for those who mostly plays with new stuff but it is less cool for those who actually use it and maintain bigger projects.
@James S: I am a bit confused about the relationship between .NET Core vs. other flavors.
I'll follow with another blog on what .NET Core is. There is very brief explanation at the top of the open source post.
@MimarSinan
I'm not sure about Visual Studio but .NET Framework 4.5.3 will be called .NET 4.6.
@Petr Vones: Does it mean to bring more fragmentation to the framework and "unstable" code base even for base core stuff?
No. We'll still have releases that will tie all the supported NuGet packages together. We'll test & suppport them as a set. These sets will also be made available for offline consumption so that you don't need an internet connection.
However, the underlying encoding is based on NuGet packages so that people can upgrade individual packages if they want to.
Will .Net Framework 4.6 do an in-place update of 4.0 libraries? This has been a major blocker for us to move to 4.5…
Wow.. just.. wow.. this is really, really exciting. Can't wait to get my hands on all of this.
@Anu: Will .Net Framework 4.6 do an in-place update of 4.0 libraries?
.NET Framework 4.6 will be an in-place update. However, in contrast to .NET Framework 4 to .NET Framework 4.5 this will have much fewer compatibility issues. .NET Framework 4.5.1 and .NET Framework 4.5.2 already addressed most those issues. In other words: moving from .NET Framework 4 to .NET Framework 4.6 is better than adopting .NET Framework 4.5.
"so that people can upgrade individual packages if they want to."
This deserves more explanation. Lets have System.Xml.dll for instance. Currently the shared dll file is distributed as part of the framework and digitally signed by Microsoft so it is verifiable and trustworthy. Together with the new open source model, can anyone build his own "System.Xml.dll" with numerous bugs added and replace the original (old fashioned) one on target machine ? NuGet packages are not digitally signed so you can easily compromise any system by malicious package. If you are going to reproduce a bug reported by user (on his machine) on your test environment it would be probably impossible then. This looks like "Ultimate DLL Hell" at first glance. Or am I missing something ?
Feels like a fresh start. Awesome. Cant wait to use.
So much excited and thrilled with the new doors that open after building apps that work in any platform. Wow!
So what is the story around Application Domains and hot code reloading? Will I be able to make something like Erlang?
This is amazing! Could not be better. Keep up the good work and open-sourcing the rest of frameworks!
This is great news. But when will .NET 4.5.2 rolled out via Windows Update? And why are there no public symbols for it since months on the public symbol servers for it? I had to uninstall it to be able to properly profile things again. While pushing out new stuff please keep doing it in the quality we are used to it.
Please align your JIT compilers for x64 and x86. There is no reason to have two code bases for x64 and x86 JIT compilers.
The CLR virtual memory savings are very nice. But to be able to take advantage of it I really would like to tell our customers to simply update to the newest .NET Framework (4.6). Is there a timeline when it will be released?
I also like that WPF gets more love again. Could you publish the design decisions how WPF was used inside Visual Studio? It looks like there are many dark spots in WPF which are a CPU and memory sink. It would be nice to have a checklist which WPF features are essentially free and which ones can cost you quite a lot and how you can work around it.
big step taken by Microsoft, Can't wait to use it. Is there any new thing added for using Hadoop?
Where is Net Native ?
Thank you for for great work you've done. But what about the .net Native?
Yeah. New refactorings in Visual studio. Please add more of them. Debugging lambdas is also very useful.
The most developer don't start new project every month, but improve existing products for years.
Fantastic Stuff, this is what i have been waiting since a long long time.
I excited how about Visual Studio is run on mac?
Do you have any idea about open sourcing Silverlight?
I was not able to debug lambda expressions in a ASP.NET 5 controller ("Expression cannot contain lambda expressions").
Works fine in console applications, though.
Great work!!!
All sounds great – like speech of politician. Please, don’t be afraid, be commander say what it is, even it is less than pleasing all – WPF is great platform – you know it – there is nothing better so far – cannot be done full banking-trader desktop composite system using WinRT. Microsoft was leader in smart phones – and it got derailed so badly. So many Microsoft’s talents are wasted on screwed java script (Hejlsberg) – you want them to be gone like Erik Meijer? Be SOLID not flaky – after Silverlight many are on the verge of trust – when reading this article – do you know how many decision makers abandon WPF? Looks like Microsoft is on election campaign – lots of promises, no commitments. I cannot do JS/html5 – was trying – cannot digest.
Awesome.. good to debug lamdas in immediate or quick watch!
@Dev — no specific story planned for "hot code reloading". Would good to hear more about the scenarios you are interested in.
@Alois Kraus — Reference source and symbols are currently updated for .NET 4.5.2. We didn't do that right away. Sorry. But they should be up to date now. If you still see that, then we'll need to take a closer look. I'll pass on your request about WPF. I could imagine some white papers would be really helpful.
@Lokesh — Nothing new to say about Hadoop. I imagine it is a focus for some Microsoft teams, but well outside what the .NET team is looking at.
@Tristan/Webdiyer — .NET Native remains a major focus and you'll see more on it going forward.
@Cai — No current plans or announcements for VS on the Mac.
@Leonidas — No plans to open source Silverlight.
@Ricardo — Will pass on the ASP.NET 5 lamda debugging issue. I expect that this one didn't get implemented since ASP.NET 5 is in itself a work in progress. I imagine this functionality will show up for RTM.
@Lepton — We are sharing our commitment to WPF. We have many customers in banking and trading (as you mention) that use WPF. We are wanting to make more improvements for them, as we announced here: blogs.msdn.com/…/the-roadmap-for-wpf.aspx. We agree that WPF is great for this scenario.
awesome … would like to explore more in detail
Conditional breakpoints – now working the same as Visual Studio 6.
Earlier this year you announced that .NET 4.5.2 will be the supported version, starting on Jan. 12th 2016 (blogs.msdn.com/…/moving-to-the-net-framework-4-5-2.aspx)
Are you planning on updating this policy and thus making .NET 4.6 the only .NET 4 version supported by Jan 12th, 2016, or will both .NET 4.5.2 and 4.6 remain supported?
Best regards, Michael
I'm a bit suprised that invariant culture string comparisons aren't in .NET Core (per that Intellisense screenshot). It seems to me that a server environment is precisely where you'd want to be able to use StringComparison.InvariantCulture.
wow …great…
after all my wait finish…thanks …:)
There's any chance to us to see Microsoft Visual Studio in Maco OS X someday?
Very Nice..
I have a question. Why was the WPF team put in hibernation for 6+ years? I would have thought that WPF should deserve much more priority than Microsoft has given in. What is the plan for WPF after you implement these most welcome features you talked about? Will the team be put back into hibernation for another 6 years? The way Microsoft is so wishy-washy about what direction it is going in makes it impossible for us developers to plan anything in the future.
P.S I really dislike the portable subset .net library.
P.S.S If you really want to cause my head to explode…thaw out the Winforms team and announce Winforms 2.0 is coming out.
—Dave
Why not open source the whole stack including the client side components? What is the rationale of not open sourcing the client side components? If some components like WinForms are not portable they can still be open sourced and slowly ported to other platforms with community contribution.
What about F#, isn't there a lot happening there as well?
great decision to open .net! excited about advances of mono and reading/contributing to the source.
A heartily welcome to MS for crating such type of open source cross platform Technology ,i think it will create a new era for .net technology.
After reading the above article i have an doubt that whether after .net 4.6 is MS going to develop other version for .net or all are make change to .net core 5.0.
Never thought that it would happen. Great news!
Can you guys fix the PLINQ performance?
stackoverflow.com/…/plinq-c-net-4-5-1-vs-stream-jdk-java-8-performance
Never trust Microsoft anymore. They promised a lot on Silverlight running on multiple platforms, then they dropped. All our investment for server years and millions money has gone. Now we started to shift to web and Angular JS. No window application any more.
I'm excited, can't wait to use some of these new features!
Microsoft, you are too late. Now I'm using Apache Hadoop framework
Wow! Just great guys; already installed it and started looking into it!
Looking forward to seeing all these pieces come together; I hope the versioning won't be a mess. :-/
Atm I'm using .NET version detector from asoft which I distribute with my products because of all the versions and getting that info from customers. I hope they can keep up!
Just checked, and .NET 4.6 is already supported by them. 🙂
http://www.asoft.be/prod_netver.html
Superlike…
Will anything change regarding the Microsoft Certification exams? Specifically, the 70-483? Any others to be updated?
#region and tooltip
In VS 2015 I ma not able t use #region and tooltip for html elements.
Please continue to support Windows Vista SP2!
The link to the MIT-license appear to be broken:
github.com/…/LICENSE
I found a MIT-license on github and it should be the same, maybe just replace the broken link with this one?
github.com/…/LICENSE.txt
a feminist is like a parasite, the men have something, they have created something and the feminists are envious, they want to have it, they say: hey, it is ours, make it purple, it is nice, we like it purple; men should not support these parasite envious primitive bitches, it is much better and appropriate to kick their bucks
there are many artificial positive comments, everything censored and full of foolishness, do you believe at MS that we are as silly as you are? the truth is that you are so silly that you do not know that it is obvious that you make everything more nasty: more women = longer time, more mistakes, nasty environment, artificial comments, artificial ovations, everything about illusion and non-sense, primitivism, debility and sucking
can you change the nasty purple to something lookable or is it for silly women to feel equal to men, why the buttons do not look as buttons as before, there were much better graphical features used, you should know that a fool one is not equal to a smart one, but you declared that yes and thus there is a big issue about it and the world goes crazy
^^ Um, you might want to look into turning comment moderation on ^^
to fight php, java, android, iOS etc
As a previous developer whose work was always laid to waste as a result of Microsoft 'developments' over the years, I am suspicious of all these 'can't wait' and 'wow' comments.
Yet Microsoft won't open source the VB6 programming language.
Microsoft have abandoned VB6 developers, they are now abandoning (albeit more gracefully) .Net developers.
Can't wait to use it.
awesome!!! can't wait to use it.
WPF: Sadly, it looks like this post from 2012 still applies: paulstovell.com/…/six-years-of-wpf. Check out the comments … 🙁
So, are the rumors true that there will be no more Visual Basic in .net 5?
"embraces open source as a core principal" – should be "principle"
@Andrew, fixed, thanks!
Glad this is finally a thing. Hopefully with little to no more tweaks, we can get windows software (written using .net) to run natively on linux. The day this comes will be a VERY good day of the linux community!
I cannot believe the advances Microsoft has been contributing to a solid developer experience. In addition to their decisive opening up of core .net libraries to open source in .Net 2015, it is commendable they realize, that while they're king pin as far as I'm concerned in the dev world, but they haven't forgotten how much can be contributed by the so-called little guys in the software dev tool and innovative areas. Congrats and I look forward to a continued pleasant Microsoft kool-aid drinking experience!!
Even now i have a question will this platform is stable ???
In our application we problematically generate Excel reports. Up until i installed .net 4.6 which came with VS 2015 i was able to close the Excel Workbook using the code below.
mobjWorkbook.Close(false);
Marshal.FinalReleaseComObject(mobjWorkbook);
but after .net 4.6 is installed the program throws exception on Marshal.FinalReleaseComObject() that "transition into COM context for this RuntimeCallableWrapper failed". on investigation i figured out that GAC is loaded with .net 4.6 version of mscorlib.dll, which i think may have caused this issue because .net 4.6 have a new optimized algorithm to clear the Resources using the garbage collector. and i assume that on closing the workbook must have cleared the Com Assembly.
It will be great to know of any possible reasons for this issue.