.NET 10 is now available: the most productive, modern, secure, intelligent, and performant release of .NET yet.
.NET Blog
Free. Cross-platform. Open source. A developer platform for building all your apps.
Featured posts

Announcing .NET 10
Announcing the release of .NET 10, the most productive, modern, secure, intelligent, and performant release of .NET yet. With updates across ASP.NET Core, C# 14...
Latest posts
Microsoft.Testing.Platform Now Fully Supported in Azure DevOps
Azure DevOps enhanced support for Microsoft.Testing.Platform, from running tests to publishing results!
How to Build iOS Widgets with .NET MAUI
Build professional iOS widgets with .NET MAUI, from static displays to interactive widgets.
.NET and .NET Framework December 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for December 2025.
Implementing Cross-Platform In-App Billing in .NET MAUI Applications
Learn how to implement in-app purchases in your .NET MAUI apps with our new cross-platform billing sample for Android, iOS, Mac Catalyst, and Windows.
Microsoft Learn MCP Server Elevates Development
Explore how the Learn MCP server enhances the developer experience with Copilot, showcase practical examples, and provide straightforward integration instructions for Visual Studio, Visual Studio Code, the Copilot Command Line Interface, and the Copilot Coding Agent
.NET 10 Networking Improvements
Introducing new networking features in .NET 10 including HTTP space, WebSockets, security and more!
.NET Conf 2025 Recap – Celebrating .NET 10, Visual Studio 2026, AI, Community, & More
.NET Conf 2025 is over, but you can catch up with all the announcements and fun with video recordings, slides, demos, and more.
Introducing Data Ingestion Building Blocks (Preview)
Announcing the preview of open, modular data ingestion building blocks in .NET, empowering developers to build scalable AI pipelines with seamless integration, extensibility, and easy getting started experiences across the .NET ecosystem.
.NET Day on Agentic Modernization Coming Soon
Join us live on December 9 to explore the newest, most practical ways to modernize your .NET apps with Azure, AI, and powerful agentic tooling.
Reinventing how .NET Builds and Ships (Again)
An exploration of how .NET evolved from a distributed build system to Unified Build, dramatically reducing complexity and build times while improving flexibility and predictability for shipping .NET releases.
Supercharge Your Test Coverage with GitHub Copilot Testing for .NET
Boost your testing workflow with GitHub Copilot testing for .NET, available now in Visual Studio. Automatically generate, build, and run high-quality unit tests for files, projects, or entire solutions.
A step-by-step guide to modernizing .NET applications with GitHub Copilot agent mode
Learn how Visual Studio 2026 and GitHub Copilot app modernization upgrade .NET versions and frameworks, fix build issues, and migrate apps to Azure with less manual effort
Post-Quantum Cryptography in .NET
What we've added for PQC, and how we got there.
Introducing C# 14
Learn what features are in C# 14, which ships as part of .NET 10.
Introducing F# 10
Learn about new F# 10 language features, performance upgrades, and tooling improvements shipping with .NET 10.
Announcing .NET 10
Announcing the release of .NET 10, the most productive, modern, secure, intelligent, and performant release of .NET yet. With updates across ASP.NET Core, C# 14, .NET MAUI, Aspire, and so much more.
.NET and .NET Framework November 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for November 2025.
How Copilot Studio uses .NET and WebAssembly for performance and innovation
Learn how Microsoft Copilot Studio uses .NET to provide a consistent AI agent execution across platforms, including on the web via WebAssembly.
Get Ready for .NET Conf 2025!
The biggest .NET event of the year is just one week away! Join us November 11-13 for .NET 10 and Visual Studio 2026, plus a Student Zone on November 14th.
Introducing Custom Agents for .NET Developers: C# Expert & WinForms Expert
Introducing C# Expert and WinForms Expert: experimental custom agents that help .NET developers write better code with GitHub Copilot.
Announcing Sponsorship on NuGet.org
Announcing Sponsorship on NuGet.org - An easy way to recognize package maintainers and grow the NuGet community stronger!
Upgrading to Microsoft Agent Framework in Your .NET AI Chat App
Step-by-step review on how to upgrade your .NET AI chat app to Microsoft Agent Framework for better architecture, tool integration, and intelligent reasoning.
.NET and .NET Framework October 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for October 2025.
Announcing .NET 10 Release Candidate 2
.NET 10 Release Candidate 2 focuses on final quality, reliability, and stabilization across the runtime, SDK, libraries, ASP.NET Core, Blazor, .NET MAUI, and more.
Announcing the .NET Security Group
Learn how to join the .NET Security Group for early access to CVE information and help deliver security patches to your .NET distribution simultaneously with Microsoft.
Preparing for the .NET 10 GC (DATAS)
Learn how DATAS in .NET 10 adapts heap size, what changes to expect versus previous Server Garbage Collection (GC) behavior, and how to decide whether to tune or disable it.
Developer and AI Code Reviewer: Reviewing AI-Generated Code in .NET
Learn how to effectively review AI-generated .NET code with practical strategies for maintaining quality, enforcing standards, and boosting team productivity through thoughtful code review practices.
Introducing Microsoft Agent Framework (Preview): Making AI Agents Simple for Every Developer
Microsoft Agent Framework (Preview) unifies agent creation, orchestration, tooling, hosting, and observability so any .NET developer can ship production AI agents faster.
Preparing Your .NET MAUI Apps for Google Play’s 16 KB Page Size Requirement
Learn about the upcoming 16 KB page size requirement for Google Play and how to ensure your .NET MAUI apps are ready for the November 2025 deadline.
Announcing Aspire 9.5
Aspire 9.5 adds the preview 'aspire update' command, single-file AppHost, richer CLI and dashboard UX, and new integrations for AI, DevTunnels, and more.
Exploring Text-to-Image capabilities in .NET
Learn how to generate images from natural language prompts using the universal abstractions in Microsoft's extensions for .NET AI.
New Trusted Publishing enhances security on NuGet.org
Announcing Trusted Publishing on NuGet.org - a safer way to publish packages using short-lived tokens instead of long-lived API keys
Prompt Files and Instructions Files Explained
Unlocking the Power of GitHub Copilot for .NET Developers with Instruction Files and Prompt Files
.NET STS releases supported for 24 months
.NET STS releases will be supported for 24 months
Application Insights Code Optimizations for .NET Apps
Learn how Application Insights Code Optimizations helps .NET developers identify performance bottlenecks and get AI-powered recommendations through GitHub Copilot integration.
Performance Improvements in .NET 10
Take a tour through hundreds of performance improvements in .NET 10.
Announcing .NET 10 Release Candidate 1
.NET 10 Release Candidate 1 is available with improvements across the runtime, SDK, libraries, ASP.NET Core, Blazor, .NET MAUI, and more!
.NET and .NET Framework September 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for September 2025.
Let Copilot Coding Agent handle the busy work
See how GitHub Copilot Coding Agent automates unit tests and ships features from a PRD in a real .NET sample, so you can focus on design and review.
Getting Started with the Aspire CLI
The Aspire CLI is here and you can use it to configure and run your applications
EFCore.Visualizer – View Entity Framework Core query plan inside Visual Studio
A Visual Studio extension that helps developers visualize and analyze Entity Framework Core query execution plans directly within their development environment.
MauiReactor: An MVU Approach for .NET MAUI
A look at how the Model-View-Update pattern can complement the .NET MAUI ecosystem
Enhance your CLI testing workflow with the new dotnet test
Learn how .NET 10 transforms dotnet test with native Microsoft.Testing.Platform integration, delivering better performance and enhanced diagnostics.
Copilot Diagnostics toolset for .NET In Visual Studio
Debugging doesn’t have to be a grind. With Copilot woven into Visual Studio, you get AI-powered breakpoints, insights, exception fixes, and performance summaries all right where you work.
GPT-OSS – A C# Guide with Ollama
Run GPT-OSS locally with C# and Ollama to build fast, private, offline AI
Announcing the NuGet MCP Server Preview
We've released a preview of the NuGet MCP Server, which extends Copilot by providing realtime information about packages and adds advanced functionality around updating packages.
.NET 10 Preview 7 is now available!
Find out about the new features in .NET 10 Preview 7 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
5 Copilot Chat Prompts .NET Devs Should Steal Today
Discover 5 practical GitHub Copilot Chat prompts to boost .NET development productivity, from code optimization to security reviews.
.NET and .NET Framework August 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for August 2025.
Exploring new Agent Quality and NLP evaluators for .NET AI applications
Introducing Agent Quality and NLP evaluators in the Microsoft.Extensions.AI.Evaluation libraries.
.NET Conf 2025 – Announcing the Call for Content
The .NET Conf 2025 Call for Content is now open! Join us November 11-13 for the premier .NET virtual event celebrating .NET 10. Submit your session proposal by August 31st and share your .NET expertise with developers worldwide.
The new Dependabot NuGet updater: 65% faster with native .NET
Discover the new Dependabot NuGet updater that improves performance, accuracy, and developer experience by leveraging native .NET tooling.
Building a Full-Stack App with React and Aspire: A Step-by-Step Guide
Discover how to build a full-stack application with React and Aspire, integrating a React front-end with an ASP.NET Core Web API and persisting data to a database.
Aspire 9.4 is here with a CLI and interactive dashboard features
Aspire 9.4 is packed with new features, integrations, and improvements
MCP C# SDK Gets Major Update: Support for Protocol Version 2025-06-18
The MCP C# SDK has been updated to support the latest Model Context Protocol specification (2025-06-18), bringing structured tool output, elicitation support, enhanced security, and more to .NET developers building AI applications.
Ask Mode vs Agent Mode – Choosing the Right Copilot Experience for .NET
GitHub Copilot Chat offers two powerful modes, Ask Mode and Agent Mode, that can dramatically accelerate your development. Learn when to use each mode to get the most out of this tool.
Building Your First MCP Server with .NET and Publishing to NuGet
Learn how to create a Model Context Protocol (MCP) server using .NET 10 and publish it to NuGet — making AI capabilities discoverable and reusable across the ecosystem.
.NET 10 Preview 6 is now available!
Find out about the new features in .NET 10 Preview 6 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
Customize AI responses from GitHub Copilot
Learn how custom instructions can tailor GitHub Copilot's AI responses to your team's exact needs.
How the .NET MAUI Team uses GitHub Copilot for Productivity
How the .NET MAUI Team uses GitHub Copilot for Productivity
.NET and .NET Framework July 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for July 2025.
Local AI + .NET = AltText Magic in One C# Script
Learn how to generate image AltText using .NET 10 and local AI models — all in a single C# file with dotnet run app.cs. A fun and accessible example of what AI can do beyond chat.
Simpler XAML in .NET MAUI 10
Make your .NET MAUI XAML more consistent and easier to read with global and implicit XML namespaces.
Multimodal Vision Intelligence with .NET MAUI
Enhance your .NET MAUI app with photo-based AI by capturing images and extracting structured information using Microsoft.Extensions.AI.
Improve Your Productivity with New GitHub Copilot Features for .NET!
We recently introduced several new GitHub Copilot-powered .NET experiences designed to help you be more productive. Take a look!
Multimodal Voice Intelligence with .NET MAUI
Learn how to enhance your .NET MAUI apps with multimodal AI capabilities, enabling users to interact through voice using plugins and Microsoft.Extensions.AI.
.NET and .NET Framework June 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for June 2025.
.NET 10 Preview 5 is now available!
Find out about the new features in .NET 10 Preview 5 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
Emit logs on-demand with log buffering
Learn how to delay log emission with the new log buffering feature for more intelligent, context-aware logging in .NET 9
Catch Up on Microsoft Build 2025: Essential Sessions for .NET Developers
Get up to date on all of the .NET sessions from Microsoft Build 2025 covering .NET 10, C# 14, .NET Aspire, ASP.NET Core, Blazor, AI development, and more!
Using AI Foundry with .NET MAUI
Using AI Foundry with .NET MAUI brings the power of LLMs to mobile and desktop applications.
Fine-tune the volume of logs your app produces
Explores the new log sampling feature
Announcing dotnet run app.cs – A simpler way to start with C# and .NET 10
We are super excited to introduce a new feature that was released as part of .NET 10 Preview 4 that makes getting started with C# easier than ever. You can now run a C# file directly using . This means you no longer need to create a project file or scaffold a whole application to run a quick script, test a snippet, or experiment with an idea. It's simple, intuitive, and designed to streamline the C# development experience, especially for those just getting started. What is ? Until now, executing C# code using the CLI required a project structure that included a file. With this new capability, which we call fi...
Circuit Breaker Policy Fine-tuning Best Practice
Summary of some best practice and insights about circuit breaker resilience policy fine-tuning.
AI and Vector Data Extensions are now Generally Available (GA)
We’re excited to announce that these extensions are now generally available, providing developers with a robust foundation to build scalable, maintainable, and interoperable AI-powered applications.
.NET Aspire 9.3 is here and enhanced with GitHub Copilot!
.NET Aspire 9.3 is the biggest release of .NET Aspire yet, with the introduction of GitHub Copilot directly into the .NET Aspire Dashboard, updates for integrations, app model enhancements, and more.
Accelerate Your .NET Upgrades with GitHub Copilot
Upgrade your .NET apps with confidence! Introducing our newest AI-powered upgrade experience, GitHub Copilot app modernization - Upgrade for .NET.
Evaluating content safety in your .NET AI applications
Announcing content safety evaluations and other imporvements in the Microsoft.Extensions.AI.Evaluation libraries.
.NET and .NET Framework May 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for May 2025.
.NET 10 Preview 4 is now available!
Find out about the new features in .NET 10 Preview 4 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
C# 14 – Exploring extension members
C# 14 introduces extension members. See how the `extension` syntax offers flexibility for extension authors and continuity for developers using extensions
Why we built our startup in C#
Tracebit built their B2B SaaS security product using C#.
Packaging and Publishing a .NET MAUI Library with GitHub Actions
In this post, learn how to setup a DevOps pipeline to build and publish a .NET MAUI library with GitHub Actions.
Building Real‑Time iOS Apps with SignalR: Introducing the Official Swift Client (Public Preview)
Introduction Until now, iOS developers who wanted real‑time, bi‑directional communication with SignalR had to rely on community‑built clients or roll their own Swift implementation—both of which introduced maintenance and compatibility headaches. We’re excited to announce that the official SignalR Swift client is now available in public preview. With this release, you can: In this post you’ll learn how to set up the Swift client and use its core features. During a recent .NET Community Standup, we demoed an AI-enabled chat sample that uses SignalR for streaming AI‑generated tokens to iOS clie...
Introducing the AI Dev Gallery: Your Gateway to Local AI Development with .NET
Discover the new AI Dev Gallery, a Windows application that provides interactive local AI samples, easy model downloads, and source code export - all built with .NET AI building blocks.
Preview 2 of the .NET AI Template Now Available
Preview 2 of the .NET AI Chat Web App template introduces support for .NET Aspire and Qdrant vector database integration, making it easier to create cloud-native AI-powered chat applications with custom data.
Build MCP Remote Servers with Azure Functions
Build AI-powered tools quickly using Azure Functions to create remote MCP servers that seamlessly integrate with GitHub Copilot and other LLM-based applications.
Join the .NET & C# Teams at Microsoft Build 2025
The countdown to Microsoft Build 2025 is on! Join us May 19-22 either in-person in Seattle or online and explore an exciting lineup of .NET and C# content, including sessions on AI integration, app modernization, and the latest language features.
.NET 10 Preview 3 is now available!
Find out about the new features in .NET 10 Preview 3 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
Aspire 9.2 is Now Available with New Ways to Deploy
Aspire 9.2 is now available with cool new dashboard features and introducing the publishers feature
.NET and .NET Framework April 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for April 2025.
How we ended up rewriting NuGet Restore in .NET 9
Learn about the journey that led to a full rewrite of the NuGet Restore algorithm in .NET 9, achieving break-through scale and performance.
Build a Model Context Protocol (MCP) server in C#
Learn how to build a Model Context Protocol (MCP) server using the C# SDK to enable seamless communication between AI models and applications.
Modernizing push notification API for Teams
Push Notification Hub is an essential internal service that plays a crucial role in the messaging and calling flows within Teams and other platforms. This article describes its recent overhaul, which has significantly enhanced its performance and reduced latencies in delivering push notifications to user devices
Use BrowserStack App Automate with Appium UI Tests for .NET MAUI Apps
In this post, learn how to run your Appium UI Tests for .NET MAUI Apps on real devices on the cloud using BrowserStack App Automate.
Exploring new .NET releases with Dev Containers
Learn how to set up and use dev containers for experimenting with new .NET releases.
Xbox + .NET Aspire: Transforming Local Development Practices
Learn how the Xbox services team leveraged .NET Aspire to boost their team's productivity.
MSTest 3.8: Top 10 features to supercharge your .NET tests!
MSTest 3.8 is here! It's built on your feedback and packed with powerful new features to simplify and smooth your testing experience.
.NET 10 Preview 2 is now available!
Find out about the new features in .NET 10 Preview 2 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
Introducing support for SLNX, a new, simpler solution file format in the .NET CLI
Learn about the .NET CLI's ability to interact with the new XML-based solution file format.
Hello HybridCache! Streamlining Cache Management for ASP.NET Core Applications
HybridCache is now GA, use today
.NET and .NET Framework March 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for March 2025.
.NET AI Template Now Available in Preview
Announcing the first preview of the .NET AI Template, for Visual Studio, Visual Studio Code, and the .NET CLI. Get started building amazing AI apps with .NET.
Unlock new possibilities for AI Evaluations for .NET
Microsoft.Extensions.AI.Evaluations library is now open source, and a new Azure DevOps plug-in is available to make reporting in your CI pipelines easier than ever.
.NET 10 Preview 1 is now available!
Find out about the new features in .NET 10 Preview 1 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
.NET Aspire 9.1 is here with six great new dashboard features, and more!
.NET Aspire 9.1 is here! From enhanced dashboard capabilities like Resource Relationships and Localization Overrides to improved Docker integration and flexible console logs, this release is packed with tools to streamline your development process.
Let’s Learn .NET: GitHub Copilot Event
Join us for an exciting Let's Learn .NET live stream event where we will explore GitHub Copilot and its capabilities.
.NET MAUI Performance Features in .NET 9
Optimize .NET MAUI application size and startup times with trimming and NativeAOT. Learn about `dotnet-trace` and `dotnet-gcdump` for measuring performance.
New Features for Enhanced Razor Productivity!
The Extract to Component refactoring and the Roslyn tokenizer are two new features designed to help improve your productivity in Razor files.
Announcing Generative AI for Beginners – .NET
Introducing a new practical course designed for the .NET community to explore the world of Generative AI.
.NET and .NET Framework February 2025 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for February 2025.
C# Dev Kit Updates: .NET Aspire, Hot Reload, and More!
Exploring the latest features and enhancements in the C# Dev Kit for VS Code including .NET Aspire orchestration support, new hot reload features, enhanced debugging capabilities, and more!
Microsoft.Testing.Platform: Now Supported by All Major .NET Test Frameworks
All major .NET testing frameworks are now supporting Microsoft.Testing.Platform. Whether you are using Expecto, MSTest, NUnit, TUnit, or xUnit.net, you can now leverage the new testing platform to run your tests.
.NET 9 Networking Improvements
Introducing new networking features in .NET 9 including HTTP space, HttpClientFactory, security and more!
ASP.NET Core on .NET Framework servicing release advisory: ASP.NET Core 2.3
ASP.NET Core 2.1 has been reshipped as ASP.NET Core 2.3 to help users on the unsupported ASP.NET Core 2.2 move to a supported version.
Build Intelligent Apps with .NET and DeepSeek R1 Today!
Learn how to easily integrate DeepSeek R1 with .NET applications using the Microsoft.Extensions.AI library.
WinForms: Analyze This (Me in Visual Basic)
Your WinForms code might have issues—maybe an Async call picked the wrong overload, or it’s leaking data into resource files. Time to call in a code-shrink! So, WinForms, Analyze This!
Meet the .NET Team at NDC London 2025
Meet the .NET team at NDC London 2025 to explore the latest in .NET 9, Azure, and AI-powered development through keynotes, sessions, and 1:1 meetups.
.NET and .NET Framework January 2025 servicing releases updates
Welcome to our combined .NET servicing updates for January 2025. Let's get into the latest release of .NET & .NET Framework, here is a quick overview of what's new in these releases: Security improvements This month you will find several CVEs that have been fixed this month: .NET January 2025 Updates Below you will find a detailed list of everything from the .NET release for January 2025 including .NET 9.0.1 and .NET 8.0.12: .NET Improvements Share feedback about this release in the Release feedback issue. ....
Aspire Quick Tip – Managing Container & Data Lifetime
Aspire 9 adds new control over the lifetime of containers on your local developer environment. Let's look at how to manage them with the new APIs!
Top .NET Videos & Live Streams of 2024
Let's take a look back at the amazing .NET videos, events, and live streams from 2024!
Critical: .NET Install links are changing
The .NET installers and archives distribution method is currently changing unexpectedly. This change may impact your development, CI, and production infrastructure. It is crucial to validate if you are affected and monitor for any downtime or disruptions.
Top .NET Blogs Posts of 2024
Let's take a look back at the top .NET blogs from 2024 from exciting announcements, deep dives on new features, and so much more.
.NET Conf 2024 Recap – Celebrating .NET 9, AI, Community, & More
.NET Conf 2024 is over, but you can catch up with all the announcement and fun with video recordings, slides, demos, and more.
Exploring Microsoft.Extensions.VectorData with Qdrant and Azure AI Search
Discover how to use Microsoft.Extensions.VectorData to implement semantic search using Qdrant and Azure AI Search
Announcing .NET Community Toolkit 8.4! Partial properties support for MVVM, new analyzers, and more!
We're happy to announce the official launch of the .NET Community Toolkit 8.4 release, featuring support for partial properties for the MVVM Toolkit generators, new analyzers, bug fixes and enhancements, and more!
Invoking Async Power: What Awaits WinForms in .NET 9
With .NET 9, we’re bringing a suite of new async APIs to WinForms, aimed at making UI updates, dialog interactions, and control management more efficient.
Using Local AI models with Aspire
Let's look at how to build and run local AI models with Aspire.
Using Dependabot to Manage .NET SDK Updates
Learn how to use Dependabot to keep your .NET SDK version up to date with the latest security patches and improvements.
Dramatically faster package restores with .NET 9’s new NuGet resolver
.NET 9 introduces a new NuGet dependency graph resolver that dramatically improves package restore performance for large repositories. Learn how this reimagined approach reduces restore times from 30 minutes to just 2 minutes by creating a more efficient dependency graph with fewer nodes.
Evaluate the quality of your AI applications with ease
Get started with the new Microsoft.Extensions.AI.Evaluation library to kickstart your Intelligent Application eveluation journey.
OpenAPI document generation in .NET 9
Introducing the New OpenAPI Document Generation Feature in .NET 9. Let's take a look at what it is, how to use it, and how it streamlines API development in .NET.
dotnet scaffold – Next Generation Content Creation for .NET
Introducing a new command line tool dotnet scaffold, a new interactive way to create projects in .NET.
Enhance Your .NET Developer Productivity with GitHub Copilot
Learn how to get started with GitHub Copilot for .NET development for AI assisted development in Visual Studio and Visual Studio Code
Calling methods is easier and faster with C# 13 params collections
Let's take a look at C# 13's new params collections that make methods easier to use and allow new optimizations.
Nullable Reference Types in F# 9
Read about latest F# 9 feature, Nullable Reference Types
Introducing the Aspire Community Toolkit
Learn about the Aspire Community Toolkit, a collection of tools and libraries that help you build with Aspire.
Announcing .NET 9
Announcing the release of .NET 9, the most productive, modern, secure, intelligent, and performant release of .NET yet. With updates across ASP.NET Core, C#, .NET MAUI, .NET Aspire, and so much more.
.NET and .NET Framework November 2024 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for November 2024.
Get Ready for .NET Conf 2024!
The biggest .NET event of the year is almost here, its all free, all online, and you're invited!
OpenSSF Scorecard for .NET and the NuGet ecosystem
OpenSSF Scorecard is a tool developed by the Open Source Security Foundation (OpenSSF) that provides automated security assessments for open-source projects. The primary goal of the Scorecard project is to help developers and users determine the security posture of open-source software by generating a score based on a series of security-related checks. Using Scorecard, developers can assess the risks associated with each check and make informed decisions about accepting these risks, evaluating alternative solutions, or making improvements. Moreover, while projects can use GitHub Actions to generate a scorecar...
Unlocking the Power of GitHub Models in .NET with Semantic Kernel
Explore how to integrate GitHub's AI models, like GPT, Llama and Phi, into your .NET apps using Microsoft's Semantic Kernel for intelligent applications
Introducing Microsoft.Extensions.VectorData Preview
We are excited to introduce the Microsoft.Extensions.VectorData.Abstractions package available in preview today. This new package provides a unified abstraction layer that enables you to integrate vector stores into your .NET applications.
.NET Upgrade Assistant Now Supports Upgrading to Centralized Package Mangement
Learn how to use the .NET Upgrade Assistant tool to upgrade your projects to use NuGet Central Package Management (CPM).
eShop infused with AI – a comprehensive intelligent app sample
Go beyond a simple demo app that demonstrates a chat bot and explore a real-world scale application that is infused with AI and illustrates the value of intelligent apps with features like semantic search, summarization, classification, sentiment scoring, chatbot, test data generation, evaluation tool, and E2E testing.
.NET MAUI Welcomes Syncfusion Open-source Contributions
Announcing the release of the Syncfusion Toolkit for .NET MAUI, a set of free, open-source controls for .NET MAUI! Syncfusion has made 14 impressive UI controls freely available for .NET MAUI developers.
MongoDB EF Core Provider: What’s New?
The latest updates to the MongoDB EF Core Provider brings updates to change tracking, index creation, complex queries, and transactions.
.NET Conf 2024 Student Zone
The .NET Conf Student Zone is a beginner-friendly, virtual event where experts will teach you how to build amazing projects - all using C# and .NET!
How we build GitHub Copilot into Visual Studio
Find out how Visual Studio integrates GitHub Copilot, architectural detail, .NET implementation, and the importance of the indexing service for providing context-aware AI code suggestions.
What’s new in System.Text.Json in .NET 9
An overview of all new .NET 9 features in System.Text.Json for developers.
Catch the highlights from Azure Developers – Aspire Day 2024!
Watch the top sessions on demand for insights and practical guidance on building distributed applications with Aspire!
Engineering the Scalable Vector Extension in .NET
Let's take an in-depth look at how the team implemented the Scalable Vector Extension (SVE) for .NET.
.NET 9 Release Candidate 2 is now available!
Try out the latest features in .NET 9 Release Candidate 2 across the .NET SDK, libraries, runtime, ASP.NET Core, SignalR, .NET MAUI, and more!
Introducing Microsoft.Extensions.AI Preview – Unified AI Building Blocks for .NET
We are excited to introduce the Microsoft.Extensions.AI package available in preview today. This new package provides a unified abstraction layer that enables you to integrate AI services into your .NET applications.
.NET and .NET Framework October 2024 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for October 2024.
Announcing the stable release of the official OpenAI library for .NET
Discover the stable release of the official OpenAI library for .NET, empowering developers to integrate cutting-edge AI models, including GPT-4o & o1, into their .NET applications.
Getting started with testing and Aspire
Learn how to improve your software development process with automated testing in Aspire. This post covers the basics of getting started, writing tests for distributed applications, and ensuring your services run smoothly.
Join the .NET Smart Components ecosystem
The .NET Smart Components are now open source to help library authors build and share easy-to-use AI-powered features, including new AI-powered components from Telerik, DevExpress, and Syncfusion.
Improving GitHub Copilot Completions in Visual Studio for C# Developers
Learn about the latest GitHub Copilot improvements for C# developers
Android Asset Packs for .NET & .NET MAUI Android Apps
Introducing a new way to build and deploy Android Asset Packs using .NET for Android and .NET MAUI. If your app has allot of AndroidAsset items this feature will make your life easier.
Performance Improvements in .NET 9
Take an in-depth tour through hundreds of performance improvements in .NET 9.
.NET 9 Release Candidate 1 is now available!
Try out the latest features in .NET 9 Release Candidate 1 across the .NET SDK, libraries, ASP.NET Core, SignalR, .NET MAUI, and more!
GitHub Models and .NET: Building Generative AI apps for engineers
In this post, you'll learn how to use AI models on GitHub.
Learn to Build Your First Blazor Hybrid App!
Learn all about the Blazor Hybrid workshop that you can follow yourself or teach to others!
Why is F# code so robust and reliable?
F# is not just for math and big data, it's a general purpose language that will greatly reduce the amount of bugs in your code.
Discover .NET at DEVintersection Las Vegas 2024
Join us at DEVintersection Las Vegas from September 9-12, 2024, for an in-person event featuring the latest in .NET and Azure technologies. Connect with experts, dive into new advancements, and get your questions answered by the people who build the tools you use every day.
Enhance Your Cloud Development Skills at ‘Azure Developers – Aspire Day 2024’
Join us at the Azure Developers - Aspire Day 2024, a virtual event happening on September 18, 2024
Announcing Aspire 8.2 – Goodbye Components, Hello Integrations!
Aspire 8.2 is here with some nice updates for components... we mean integrations! Learn more about this rename, what it means for you, and what the teams have been adding to testing in Aspire!
BinaryFormatter removed from .NET 9
Starting with .NET 9, we no longer include an implementation of BinaryFormatter in the runtime. This post covers what options you have to move forward.
Introducing the Pinecone .NET SDK
Get started building AI applications in .NET using the Pinecone Vector DB and the Pinecone .NET SDK.
.NET Community Toolkit 8.3 is here! NativeAOT, .NET 8 enhancements, and more!
We're happy to announce the official launch of the .NET Community Toolkit 8.3 release, featuring .NET 8 and NativeAOT support, performance improvements, several bug fixes and enhancements, and more!
C# Dev Kit update brings enhanced Razor IntelliSense, Project Status, and New Config Options
Boost your dev workflow with the C# Dev Kit August 2024 release, which brings enhanced Razor IntelliSense, updated Project Status Bar, and new Project Configuration Options!
Supercharge your testing experience with MSTest.Analyzers
MSTest ships with extensive suite of code analyzers to help you write well-formed, performant and error free tests.
.NET 9 Preview 7 is now available!
Try out the latest features in .NET 9 Preview 7 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, C#, .NET MAUI, and more!
.NET Conf 2024 – Celebrating the Release of .NET 9! – Save the Date!
Announcing .NET Conf 2024 - a free, three-day virtual developer event that celebrates the release of .NET 9.
Introducing the Azure AI Inference SDK: Access More AI Models with the Azure AI Model Catalog
Announcing the Azure AI Inference SDK for .NET! This SDK provides easy access to a comprehensive suite of AI models in the Azure AI Model Catalog for inference tasks like chat, enabling you to effortlessly incorporate AI into your applications that align with your requirements.
.NET and .NET Framework August 2024 updates
A recap of the updates for .NET and .NET Framework for August 2024.
Adding Aspire to your existing .NET apps
Aspire can really simplify local development for your existing apps, large or small. In this post, we'll look at how easy it is to make your current solutions better with just a few lines of code.
Enhancing #help in F# Interactive
The '#help' directive in F# Interactive can now quickly access documentation instantly within the REPL.
Creating Bindings for .NET MAUI with Native Library Interop
Learn how to get started creating bindings with Native Library Interop by following this example binding native Chart libraries in a .NET MAUI application.
How use a Blazor QuickGrid with GraphQL
In this is the second post in a series of posts about GraphQL and .NET, we will see how to fill a Blazor QuickGrid component with data fetched with GraphQL. We will also use the virtualize feature of the QuickGrid to improve performance.
Announcing .NET Conf: Focus on AI – August 20th 2024
We're thrilled to announce the upcoming .NET Conf: Focus on AI, happening on August 20th! This one-day, virtual event will be packed with insightful sessions from both the community and Microsoft teams, showcasing how you can infuse your .NET applications with powerful AI capabilities.
What’s new in Aspire 8.1 for cloud native developers!
Let's take a look at what is new with Aspire 8.1 for building cloud native applications!
Add AI to Your .NET Apps Easily with Prompty
Learn how to integrate AI into your .NET applications with Prompty, a powerful Visual Studio Code extension.
Introducing CoreWCF and WCF Client Azure Queue Storage bindings for .NET
The initial beta release of the official libraries Microsoft.CoreWCF.Azure.StorageQueues and Microsoft.WCF.Azure.StorageQueues.Client library for .NET is now available.
.NET 6 will reach End of Support on November 12, 2024
.NET 6 will reach end of support on November 12, 2024, this blog breaks down all the valuable information you need to know and how to update to .NET 8.
NuGetAudit 2.0: Elevating Security and Trust in Package Management
Introduction In November 2023 (NuGet 6.8, Visual Studio 17.8, .NET SDK 8.0.100), we released NuGet Audit. NuGet Audit provides warnings during restore when a package with a known vulnerability is used by a project. More information about NuGet Audit, including detailed configuration options can be found on our learn website. New features are still being added, so if you haven’t read the docs recently, consider having another look, or check our release notes, to see if new features that may help you have been added. Here is a quick summary of available settings that will be available in NuGet 6.12, Visual Studio...
Building a Safer Future – How NuGet is Tackling Software Supply Chain Threats
Despite significant technological progress in addressing complex security threats, the key to preventing the next attack lies in adhering to fundamental security principles. It's essential to ensure the software ecosystem is secure, focusing on protecting .NET developers who design, build, and maintain the critical software we all use. As the home to one of the world's largest developer communities, NuGet is in a unique position to help improve the security of the software supply chain. In 2022, we launched several initiatives aimed at enhancing supply chain security and prioritizing the protection of developers...
.NET 9 Preview 6 is now available!
Try out the latest features in .NET 9 Preview 6 across the .NET runtime, SDK, libraries, ASP.NET Core, Blazor, and more!
Why and How to Execute GraphQL Queries in .NET
This post shows how to query a GraphQL API in .NET using Strawberry Shake from a console application
Dark Mode Now Available on NuGet.org
We won’t keep you “in the dark” about this any longer… Dark Mode for NuGet.org is finally here! Your feedback has been invaluable in making this happen. We know that eye strain is a significant issue for many developers, and we're excited to offer a solution. Whether you prefer it for aesthetics or necessity, Dark Mode is here to enhance your experience. Inspired by the sleek and modern design of Fluent UI, we’re integrated a color scheme that is easy on the eyes and aligns with the aesthetics of other Microsoft products. Dark mode on NuGet.org respects your system themes settings on both Windows and Mac....
C# 13: Explore the latest preview features
C# 13 focuses on flexibility and performance, with top features like params collections for added flexibility, lock object for improved performance, and partial properties to support generators.
.NET and .NET Framework July 2024 servicing releases updates
A recap of the latest servicing updates for .NET and .NET Framework for July 2024.
Join Us for Aspire Developers Day – Elevate Your Cloud Native Skills!
Join us on July 23, 2024, for Aspire Developers Day, a livestream event to elevate your .NET skills with keynotes, deep dives, and interactive sessions. Connect with experts and the community.
Let’s Learn Aspire – Start your cloud-native journey live!
Join us for Let's Learn Aspire, a global live stream workshop where you can learn all about what Aspire is, why you would use it, and see how to integrate Aspire into your apps with a hands on workshop.
Announcing Third Party API and Package Map Support for .NET Upgrade Assistant
Learn how to extend the .NET Upgrade Assistant by providing mappings for your own libraries and packages.
Using Phi-3 & C# with ONNX for text and vision samples
Harness the power of Phi-3 SLMs and ONNX for AI-driven .NET applications, showcasing C# integration for advanced tasks like image analysis and interactive Q&A.
Privacy and security improvements in .NET modernization tooling
Learn about the latest privacy and security-related updates to Azure Migrate application and code assessment and .NET Upgrade Assistant.
Refactor your code with default lambda parameters
Explore opportunities to refactor your C# code with default lambda parameters, a new feature in C# 12.
Using PostgreSQL with .NET and Entra ID
Getting started with .NET and PostgreSQL, and using Entra ID to secure your app.
The .NET MAUI Extension for Visual Studio Code is now Generally Available
Start developing .NET MAUI apps with the GA Visual Studio Code extension today!
Building Generative AI apps with .NET 8
Learn the latest news and announcements about the state of generative AI development with .NET 8.
Getting started with UI testing .NET MAUI apps using Appium
A proven way to test your (mobile) apps is through UI testing. In this post we will learn how to get setup with UI testing for .NET MAUI apps using Appium.
Announcing the official OpenAI library for .NET
The initial beta release of the official OpenAI library for .NET is now available.
MSTest 3.4 is here with WinUI support and new analyzers!
MSTest 3.4 is available. Learn all about the highlighted features and fixes that will make your testing experience always better.
A beginner’s guide to mapping arrays in EF Core 8
EF Core 8 introduces support for mapping typed arrays of simple values to database columns so the semantics of the mapping can be used in the SQL generated from LINQ queries.
Refactor your code using alias any type
Explore the "alias any type" C# 12 feature through a complete demo application.
Catch Up on Microsoft Build 2024: Essential Sessions for .NET Developers
Get up to date on all of the .NET sessions from Microsoft Build 2024 covering .NET 9, .NET Aspire, .NET MAUI, ASP.NET Core, EF Core, and so much more!
F# developer stories: how we’ve finally fixed a 9-year-old performance issue
Some bugs carry exciting narratives — attempting to resolve them lets you trace the history of the repository and the community.
Introducing links to source code for .NET API Docs
.NET API reference docs now link directly to the source code! Learn how the links are generated, and some of ideas for future improvements.
Announcing NuGet 6.10
NuGet 6.10 is included in Visual Studio 2022 and .NET 8.0 out of the box. You can also download NuGet 6.10 for Windows, macOS, and Linux as a standalone executable. In NuGet 6.10, we introduce some exciting new features and bug fixes, such as a new command, vulnerability auditing in , and improvements to cached credentials. For more information, and a detailed list of all changes, see our release notes. NuGet 6.10 Highlights New features in NuGet 6.10: command You can now run the command with , , , and sub-commands to easily configure and understand your NuGet environment. Here's a few scenarios us...
.NET Announcements and Updates from Microsoft Build 2024
Our latest updates and announcements from Microsoft Build including .NET Aspire, .NET 9 Preview 4, C# 13, Blazor, .NET MAUI, and more!
General Availability of Aspire: Simplifying .NET Cloud-Native Development
Aspire, the stack that streamlines development of .NET cloud-native services, is now generally available.
.NET and .NET Framework May 2024 Servicing Updates
A recap of the latest servicing updates for .NET and .NET Framework for May 2024.
Announcing NuGet Commands in C# Dev Kit
With the April release of C# Dev Kit, you can now manage your NuGet packages directly from Visual Studio Code using the new commands in the command palette. To add a NuGet package to your project, use the command “NuGet: Add NuGet Package”. If you have more than one project in your solution, you will be asked to select which project you want to add the package to. Then you can search for packages by name. Then select the version you want to apply. Once you select a package, C# Dev Kit will add it to your project and update your project file and references. To update or remove a NuGet package from your project, u...
What’s new in Orleans 8 for Scalable Distributed Applications
Let's take a look at what is new with Orleans for building robust, scalable distribute applications with Orleans 8 and integration with .NET Aspire.
Join the .NET Team at Microsoft Build 2024!
Get ready for a great lineup of .NET sessions at Microsoft Build 2024. Join us either in Seattle or from the comfort of your own home. With a mix of live and online sessions, you won’t miss a beat.
Refactor your code with C# collection expressions
Explore various C# 12 refactoring scenarios for a variety of target types using collection expressions, collection initializers, and the spread syntax.
Package Management & improved .NET Aspire support come to C# Dev Kit
Explore the new features and enhancements in the latest version of C# Dev Kit including NuGet package management, .NET Aspire project support, and much more.
Secure your container build and publish with .NET 8
.NET 8 has new security features for containers, including non-root images and SDK tools. Discover how to create non-root container images, configure Kubernetes pods, and inspect images and containers for enhanced security.
The Journey to Accessible Apps: Keyboard Accessibility and .NET MAUI
Are your apps keyboard accessible? Learn more about keyboard traps and find out how you can ensure your .NET MAUI apps are keyboard accessible.
What’s new for .NET in Ubuntu 24.04
Ubuntu 24.04 is now available with .NET from day one in the official Ubuntu feeds! Thanks to the partnership between Canonical and Microsoft, you can start using .NET with Ubuntu 24.04 today!
Introducing .NET MAUI Community Tookit v8: TouchBehavior support is here!
The .NET MAUI Community Toolkit version 8.0 has been released with the highly anticipated TouchBehavior on board!
Refactor your C# code with primary constructors
Explore C# 12's primary constructors through incremental refactoring of a Worker service.
Announcing: Azure Developers – .NET Day 2024
Join us on April 30th for a full day of online training and discover the latest services and features in Azure designed specifically for .NET developers.
Building a scalable gateway with .NET for Microsoft AI
Microsoft AI - our journey to building a scalable gateway with YARP on .NET8
Build & test resilient apps in .NET with Dev Proxy
Learn how to build and test resilient apps in .NET with Dev Proxy to simulate API failures, different network conditions, and a lot more from your local machine.
Streamline your container build and publish with .NET 8
.NET 8 is a big step forward for building and using containers, with improvements for performance, security, and usability. Let's take a look at some enhancements to the .NET CLI for building and publishing containers.
Introducing MSTest SDK – Improved Configuration & Flexibility
The new MSTest SDK is here and provides an easier way to configure your MSTest projects. Learn all about this release, how to get started, and its great improvements when using MSTest.
.NET April 2024 Updates – .NET 8.0.4, 7.0.18, .NET 6.0.29
Check out latest April 2024 updates for .NET 8.0, .NET 7.0, and .NET 6.0.
Testing Your Native AOT Applications
MSTest introduces a Native AOT compatible test runner and engine for testing your Native AOT applications.
Making AI powered .NET apps more consistent and intelligent with Redis
Redis makes intelligent apps smarter and consistent by serving as additional knowledge store, caching chat history, and semantically cache request and responses for an API. Combined with traditional caching scenarios, Redis is the multi-purpose data store for your intelligent apps.
Bing on .NET 8: The Impact of Dynamic PGO
Bing Extensible Application Platform's upgrade to .NET 8 and how dynamic profile guided optimization continues to deliver performance gains
.NET 7 will reach End of Support on May 14, 2024
.NET 7 will reach end of support on May 14, 2024, this blog breaks down all the valuable information you need to know and how to update to .NET 8.
.NET Framework – March 2024 Cumulative Update Preview
March 2024 Cumulative Update Preview Updates for .NET Framework
Adding Apple Privacy Manifest Support to .NET iOS & .NET MAUI apps
Starting May 1, 2024 Apple will start enforcing their Apple privacy manifest for apps that are published to the App Store. In this post we'll describe how to navigate this for .NET for iOS and .NET MAUI apps.
Introducing .NET Smart Components – AI-powered UI controls
Introducing .NET Smart Components, a set of genuinely useful AI-powered UI components that you can quickly and easily add to .NET apps.
Generate Local .NET Secrets from Azure Deployments
This post shows how to automatically generate .NET secrets that a .NET app can use from the Azure deployment.
The NuGet.org repository signing certificate will be updated as soon as April 8th, 2024
Action required: If you validate that packages are repository signed by NuGet.org using a NuGet client policy, command, or the command, please follow these steps by April 8th, 2024 to avoid potential disruptions when installing new NuGet.org packages. If you are unsure, we have outlined steps to check if you will be impacted. Since 2018, NuGet.org has used an X.509 certificate to sign its NuGet packages. The certificate was last renewed on March 15, 2021, and is set to expire on May 15, 2024. As early as April 8th, a new certificate will replace it as the new NuGet.org repository signing certificate for NuGet ...
Get started with .NET 8 and AI using new quickstart tutorials
New quickstarts are now available to help you get started with .NET and AI development.
Refining Your Search: Introducing NuGet.org’s Compatible Framework Filters
Last year, we introduced search by target frameworks on NuGet.org, allowing you to filter your search results based on the framework(s) that a package targets. We received plenty of great feedback from you on how to make the filters more effective, and we are excited to announce that we are adding new search options that will now allow you to filter search results by a package’s “compatible” frameworks. Previously, if you wanted to search for packages matching ‘net8.0’, you would only see packages that explicitly include ‘net8.0’. Backwards compatibility is a key principle in .NET, and this means that packa...
Unity extension for Visual Studio Code – Now Generally Available
We are thrilled to announce the general availability of the Unity extension for Visual Studio Code. This extension, built upon the C# Dev Kit and C# extensions, gives you a comprehensive toolkit for your Unity development in Visual Studio Code across Windows, macOS, and Linux.
.NET March 2024 Updates – .NET 8.0.3, 7.0.17, .NET 6.0.28
Check out latest March 2024 updates for .NET 8.0, .NET 7.0, and .NET 6.0.
Building AI Bots, Extending Copilot for Microsoft 365, and more with .NET and Teams Toolkit
Teams Toolkit for is packed with the new exciting capabilities for .NET developers including new AI Bot templates, CodeLens integration, and new Copilot preview templates.
Get Started with Milvus Vector DB in .NET
Learn how to get started managing embedding vectors for search and Retrieval Augmented Generation (RAG) scenarios using the Milvus vector database with .NET.
GitHub Copilot Analysis, Customized Rules, and more come to the Azure Migrate application and code assessment
Learn about the latest features in Azure Migrate Application and Code Assessment to help you move your .NET applications from on-premises to Azure.
.NET MAUI Community Toolkit 2023 Highlights
Let's take a look back at all the happeneings from 2023 for the the .NET MAUI Community Toolkit's Journey of Growth, Rich Features, and Expanding Community Collaboration and a sneak peak at what is next.
The FAST and the Fluent: A Blazor story
Learn about the origin of the building blocks of the Fluent UI Blazor library. We'll talk about FAST, Web Components, Fluent Design, and more.
WinForms in a 64-Bit world – our strategy going forward
32-bit components can impose challenges for WinForms developers in a 64-bit Visual Studio environment, but there are options to solve this. Component modernization, migrating to .NET 6+ and a new option to use the out-of-process Designer for Framework are the key to a feasible way forward!
Developing Optimized GitHub Actions with .NET and Native AOT
Explore a fun example app targeting GitHub Actions written entirely in .NET, optimized with Native AOT, and published to the GitHub Container Registry.
Introducing ASP.NET Core metrics and Grafana dashboards in .NET 8
.NET 8 introduces metrics to ASP.NET Core. Check out what is new and discover how easy it is to use metrics and ASP.NET Core to monitor the health and activity of apps.
.NET Framework February 2024 Security and Quality Rollup Updates
February 2024 Security and Quality Rollup Updates for .NET Framework
Announcing NuGet 6.9
NuGet 6.9 is included in Visual Studio 2022 and .NET 8.0 out of the box. You can also download NuGet 6.9 for Windows, macOS, and Linux as a standalone executable. In NuGet 6.9, we introduce some exciting new features and bug fixes, such as an improved multi-targeting experience in Visual Studio and support for the 'dotnet search' command. For more information, and a detailed list of all changes, see our release notes. NuGet 6.9 Highlights New features in NuGet 6.9: Support for dotnet search command Starting with NuGet 6.9, you can now use the dotnet package search command for nuget.exe CLI experience to...
Our Vision for .NET 9
Welcome to .NET 9! Learn about how we're improving .NET for all kinds of apps, with a special focus on cloud native, AI, and performance.
.NET February 2024 Updates – .NET 8.0.2, 7.0.16, .NET 6.0.27
Check out latest February 2024 updates for .NET 8.0, .NET 7.0, and .NET 6.0.
Resilience and chaos engineering
Chaos engineering with HTTP clients and Polly library
My Top 10 NEW Visual Studio Features of 2023 for .NET Developers
There are tons of great new feature for .NET developers to love in Visual Studio 2022, here are my top 10 that were released in 2023 that you can take advantage of right now.
Dev Tunnels: A Game Changer for Mobile Developers
See how Dev Tunnels can enhance your development process by securely sharing local web services across the internet and enabling you to easily connect to them from mobile apps, webhooks, and more.
Building AI-powered Microsoft Copilot with SignalR and other open-source tools
Microsoft Copilot is powered by several open-source tools, such as SignalR, Adaptive Cards, Markdown, and object-basin to solve the unique challenges in building AI-enabled applications at scale. In this article, we share the design considerations and how we integrated various tools with a focus on how we stream messages and responses to the front-end UI while giving some overview of what happens on the server-side.
How to deploy .NET Aspire apps to Azure Container Apps
Let's take a look at how you can easily deploy .NET Aspire Apps to Azure Container Apps with just a few commands with the Azure Developer CLI!
Microsoft Office’s RTC (Real-Time Channel) migration to modern .NET
Real-Time Channel is Microsoft Office Online's service that powers real time collaboration and coauthoring. This blog post describes the journey to migrate the service from .NET Framework to modern .NET.
Introducing the MSTest Runner – CLI, Visual Studio, & More
MSTest runner is a new, light-weight and portable runner for MSTest tests available in the .NET CLI, Visual Studio, and more!
.NET Framework January 2024 Cumulative Update Preview
January 2024 Cumulative Update Preview Updates for .NET Framework.
Introducing NuGetSolver: A Powerful Tool for Resolving NuGet Dependency Conflicts in Visual Studio
Managing dependencies on complex projects can be overwhelming. Developers often grapple with numerous direct and transitive dependencies across multiple projects. When different projects share dependencies with varying versions, manual conflict resolution becomes necessary, which can be tedious and error-prone, as fixing one issue may inadvertently create others. Today, we are excited to introduce a new experimental Visual Studio extension called NuGetSolver which was developed in collaboration with Microsoft Research, which aims to simplify the process by automatically resolving NuGet dependency conflicts in ...
Sortable Lists for Blazor using a SortableJS Component
Blazor Sortable is a new a open source community Blazor component for creating sortable lists of items using SortableJS.
.NET Framework January 2024 Security and Quality Rollup
January 2024 Security and Quality Rollup Updates for .NET Framework
.NET January 2024 Updates – .NET 8.0.1, 7.0.15, .NET 6.0.26
Check out latest Janaury 2024 updates for .NET 7.0 and .NET 6.0
Announcing the Azure Migrate application and code assessment tool for .NET
The new tool to help you move your .NET applications from on-premises to Azure is available in Visual Studio Marketplace and as a .NET CLI tool!
Safer recursion in F#
Tail recursion is a new F# compiler feature which helps to avoid stack overflows.
What’s New in Our Code Coverage Tooling?
Discover enhanced code coverage tools with better platform support, new report formats and improved performance.
Announcing .NET Aspire Preview 2
.NET Aspire Preview 2 is now available and includes many improvements and new capabilities.
Announcing the HackTogether: The Great .NET 8 Hack Winners
Thank you for all the wonderful submissions, and now we've picked the best of the best for the winners of the Great .NET 8 Hack!
Hardware Intrinsics in .NET 8
.NET 8 includes significant improvements to the Hardware Intrinsics feature.
.NET Conf 2023 Recap – Celebrating Community, Innovation, and the Launch of .NET 8
.NET Conf 2023 is over, but you can re-live the largest .NET event of the year with full access to video recordings, slides, demos, and more.
.NET 8 Networking Improvements
Introducing new networking features in .NET 8 including HTTP space, metrics, sockets and more!
Learn .NET 8 with New Beginner Videos
New to .NET? We know there is a lot to explore – so join our Technical Program managers as they cover all of .NET 8 through this brand new beginners video series and take .NET one step at a time.
Extending WebAssembly to the Cloud with .NET
We're closely following the progress of WebAssembly, including WebAssembly System Interface (WASI). There's a new experimental workload in .NET 8 for WASI that extends the capabilities of Wasm towards the Cloud.
How to make libraries compatible with native AOT
How to make .NET libraries compatible with native AOT
Building resilient cloud services with .NET 8
How to integrate resilience and into HTTP Client
Announcing ML.NET 3.0
Announcing ML.NET 3.0, with improvements for deep learning, DataFrame, performance, and more!
Fake It Til You Make It…To Production
Explores the new logging, metric, and time provider fakes introduced in .NET 8
Announcing .NET Chiseled Containers
.NET chiseled Ubuntu container images are now GA and can be used in production, for .NET 6, 7, and 8.
Announcing NuGet.exe and NuGet Client SDK Packages Support Policy: Keeping You Informed and Secure
At NuGet, our commitment is to ensure that our users have access to the latest, most secure, and well-maintained versions of our tools and packages. With this in mind, we would like to announce the NuGet Support Policy, a set of guidelines designed to keep you informed about the status of NuGet.exe and NuGet Client SDK packages on nuget.org. Why We're Introducing This Policy We firmly believe that transparency and security are of utmost importance in software development. Here's why we're implementing this policy: What You Can Expect NuGet Client tools are distributed through the following vehicles. The ...
Improvements & Changes in Android resource generation in .NET 8
In .NET 8 we have made some vast improvements in changes to how Android resources work in regards to the designer assembly. If you are building Android apps and libraries there are some important changes to know about.
Announcing NuGet 6.8 – Maintaining Security with Ease
NuGet 6.8 is included in Visual Studio 2022 and .NET 8.0 out of the box. You can also download NuGet 6.8 for Windows, macOS, and Linux as a standalone executable. Maintaining and understanding security status in your projects is now easier than ever in NuGet 6.8. We're happy to announce a plethora of new features to help you be aware potential vulnerabilities in your projects, visualize the configuration of precautionary measures to keep your code safe, and maintain fine-grained control over your dependency sources. NuGet 6.8 Highlights There are many new features in NuGet 6.8: NuGetAudit - Notificati...
Announcing .NET 8
Today Microsoft announced the availability of .NET 8, the latest version of one of the world’s leading programming languages and development platforms.
Introducing .NET Aspire: Simplifying Cloud-Native Development with .NET 8
Introducing .NET Aspire: A cloud ready stack for building observable, production ready, distributed applications
.NET Framework November 2023 Security and Quality Rollup
November 2023 Security and Quality Rollup Updates for .NET Framework
.NET November 2023 Updates – .NET 7.0.14, .NET 6.0.25
Check out latest November 2023 updates for .NET 7.0 and .NET 6.0
Announcing .NET MAUI in .NET 8
.NET MAUI in .NET 8 has arrived with quality improvements, performance and memory improvements, desktop enhancements, and more.
Announcing ASP.NET Core in .NET 8
.NET 8 is now available! Check out all the new features and improvements in ASP.NET Core in this release.
Entity Framework Core 8 (EF8) is available today
Announcing EF Core 8 (EF8) with complex types, primitive collections, better JSON, and exciting new query translations!
Announcing C# 12
Announcing the official release of C# 12, including collection expressions, primary constructors, and more!
Announcing F# 8
Read what is new in F# 8 - the language, compiler tooling and FSharp.Core standard library
Join us for the Great .NET 8 Hack
Join us for a virtual hackathon, November 20 to December 4, 2023 to learn how to build awesome apps with .NET, AI, or Cloud Native. And a chance to win exciting prizes!
The convenience of System.IO
File I/O APIs are used pervasively in apps. .NET has great API for reading and writing files. They are a great example of the convenience of .NET.
What’s new with identity in .NET 8
An introduction to identity in .NET 8 with code examples to secure APIs, generate a Blazor-based UI and integrate authentication into Blazor WebAssembly apps.
A new F# compiler feature: graph-based type-checking
Graph-based type-checking is a new F# compiler flag that allows the compiler to type-check files in a project in parallel whenever possible.
Trying out MongoDB with EF Core using Testcontainers
An introduction to the MongoDB database provider for EF Core, including use of Testcontainers
.NET 8 Performance Improvements in .NET MAUI
What improvements did we bring to .NET MAUI in .NET 8? Click to find out more!
.NET Framework October 2023 Cumulative Update Preview
Today, we are releasing the October 2023 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. WPF1 1 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Customers using Windows 11, version 22H2, you will now find .NET Framework updates on the Settings > Windows Update > Advanced options > Optional updates page. Advanced system administrators can also take use of the below direct Microsoft Update Ca...
Building 3D Applications and Content with .NET MAUI and Evergine
See how you can leverage Evergine to build 3D applications and content in .NET MAUI with just a few lines of code!
Performance Improvements in ASP.NET Core 8
Performance improvements in ASP.NET Core 8
.NET Framework October 2023 Security and Quality Rollup Updates
A recap of the latest Security and Quality Rollup for .NET Framework for October 2023.
Overhauled F# code fixes in Visual Studio
F# code fixes are now more performant, correct, and testable.
Announcing .NET 8 Release Candidate 2
.NET 8 RC2 is now available with new NuGet package READMEs for .NET packages, simple CLI-based project evaluation for MSBuild, publishing containers to tar.gz archives, and Tensor Primitives for .NET.
ASP.NET Core updates in .NET 8 Release Candidate 2
.NET 8 Release Candidate 2 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET MAUI in .NET 8 Release Candidate 2: More Quality
.NET MAUI in .NET 8 RC2 has still more quality improvements for developers, and we have some bonus news.
EF Core 8 Release Candidate 2: Smaller features in EF8
A tour through some of the smaller features release in Entity Framework Core 8 (EF8) RC 2.
.NET October 2023 Updates – .NET 7.0.13, .NET 6.0.24
Check out latest October 2023 updates for .NET 7.0 and .NET 6.0
The convenience of System.Text.Json
JSON is one of the most common formats in apps today and .NET has great APIs for reading and writing JSON documents. It's a great example of the convenience of .NET.
C# Dev Kit – Now Generally Available
We are thrilled to announce the general availability of C# Dev Kit, a Visual Studio Code extension that brings an improved editor-first C# development experience to Linux, macOS, and Windows.
Arm64 Performance Improvements in .NET 8
.NET 8 added some key features for new functionality as well as performance improvements for developers including developers targeting Arm64 devices. In this blog I break down everything you need to know about the improvements in .NET 8.
The .NET Conf Student Zone is Back!
Get ready for the .NET Conf Student Zone on November 13!
.NET Framework September 2023 Cumulative Update Preview
September 2023 Cumulative Update Preview for .NET Framework.
Debugging Enhancements in .NET 8
.NET 8 introduces debugging enhancements to many commonly used types. Check out what is new and discover how .NET debugging is better than ever.
The convenience of .NET
The .NET platform provides convenient solutions to many tasks, for developers looking for a straightforward utility function or a high degree of control crafting an algorithm.
Tune into the C# Certification Training Series
We are hosting six office hour training streams for the new C# Certification training content.
Simplifying F# computations with the new ‘while!’ keyword
F# introduces `while!` keyword, streamlining loops in computation expressions.
HTTPS Everywhere Update
Mistakes were made When we first published the plan for the effort of HTTPS everywhere, we wanted to get developer community feedback on the various HTTP and HTTPS scenarios that we don't have much everyday visibility of. After we published that blog, we heard you loud and clear that there was a gap. This plan needed a clear way to suppress the eventual error case when a non-HTTPS source is used due to various scenarios where you are able to accept the security risk. We've recently added such functionality that will allow you to do just that. In NuGet 6.8, you will be able add the attribute to your respective ...
What’s new in System.Text.Json in .NET 8
An overview of all new .NET 8 features in System.Text.Json for developers.
What’s new in Teams Toolkit for Visual Studio 2022?
Teams Toolkit for Visual Studio 2022 version 17.7 is packed with the new exciting capabilities for .NET developers.
Performance Improvements in .NET 8
.NET 7 was super fast, .NET 8 is faster. Take an in-depth tour through over 500 pull requests that make that a reality.
.NET Framework September 2023 Security and Quality Rollup Updates
September 2023 Security and Quality Rollup Updates for .NET Framework.
Announcing .NET 8 Release Candidate 1
.NET 8 RC1 is now available with improvements to System.Text.Json, a new AOT mode for Android and WASM, Azure Managed Identity support for containers, and more!
EF Core 8 RC1: Complex types as value objects
Announcing Entity Framework Core 8 (EF8) RC 1 with support for complex types used as value objects
Announcing .NET MAUI in .NET 8 Release Candidate 1: Quality
.NET MAUI in .NET 8 RC1 has more quality improvements for developers, and introduces the first step to supporting Xcode 15 beta and Apple SDKs.
ASP.NET Core updates in .NET 8 Release Candidate 1
.NET 8 Release Candidate 1 is now available! Check out what's new in ASP.NET Core in this update.
.NET September 2023 Updates – .NET 7.0.11, .NET 6.0.22
Check out latest September 2023 updates for .NET 7.0 and .NET 6.0
WPF File Dialog Improvements in .NET 8
Announing OpenFolderDialog control and other file dialog properties in WPF in .NET 8.
Demystifying Retrieval Augmented Generation with .NET
Build a chat-based console app with Retrieval Augmented Generation (RAG) from scratch.
New .NET Upgrade Assistant version with feature updates and .NET MAUI improvements!
The new version of .NET Upgrade Assistant is available in Visual Studio Marketplace with feature updates and .NET MAUI improvements!
Announcing the New Foundational C# Certification with freeCodeCamp
The Foundational C# Certification with freeCodeCamp is now available! The certification is free, globally available, and includes a full training course.
.NET Framework August 2023 Cumulative Update Preview
August 2023 Cumulative Update Preview Updates for .NET Framework
Announcing NuGet 6.7 – Keeping You Secure
NuGet 6.7 is included in Visual Studio 2022 and .NET 7.0 out of the box. You can also download NuGet 6.7 for Windows, macOS, and Linux as a standalone executable. Security is a chain; it's only as strong as its weakest link. That's why today, we are happy to announce that NuGet 6.7 brings a plethora of security features such as enhancements to package source mapping, new vulnerability APIs, package version dropdown changes, and new warning messages for chain of trust issues. NuGet 6.7 Highlights There are many new features in NuGet 6.7: View your package source mapping status in the package details pa...
.NET Framework August 2023 Security and Quality Rollup Updates
August 2023 Security and Quality Rollup Updates for .NET Framework
Announcing .NET MAUI in .NET 8 Preview 7: Keyboard Accelerators
.NET MAUI in .NET 8 Preview 7 has more new quality improvements for developers, experimental new AOT for iOS, and exciting new Visual Studio support.
ASP.NET Core updates in .NET 8 Preview 7
.NET 8 Preview 7 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET 8 Preview 7
.NET 8 Preview 7 is now available with improvements to type containers, JSON source generation, and CodeGen as well as new support for HTTPS proxy, WPF open folder dialog, and iOS hybrid globalization.
.NET August 2023 Updates – .NET 7.0.10, .NET 6.0.21
Check out latest August 2023 updates for .NET 7.0 and .NET 6.0
The Microsoft author-signing certificate will be updated as soon as August 14th, 2023
Action required: If you validate that packages are author-signed by Microsoft using a NuGet client policy or the command, please follow these steps by August 14th, 2023 to avoid potential disruptions when installing new Microsoft packages. If you are unsure, we have outlined steps to check if you will be impacted. Microsoft uses an X.509 certificate to author-sign its NuGet packages. The current certificate will expire on October 5th, 2023. In late August 2023, a new certificate will replace it as the new Microsoft author-signing certificate for NuGet packages. Existing packages already signed with the older ce...
.NET Conf 2023 – Celebrating the Release of .NET 8! – Save the Date!
Announcing .NET Conf 2023 - a free, three-day virtual developer event that celebrates the release of .NET 8.
New syntax for string interpolation in F#
New language feature is available in preview for F# to make working with interpolated strings even easier.
.NET Framework July 2023 Cumulative Update Preview
July 2023 Cumulative Update Preview Updates for .NET Framework
Debugging .NET Containers with Visual Studio Code Docker Tools
Use the Docker extension for Visual Studio Code to build and run containerized .NET applications easily
What does Azure AD renamed Microsoft Entra ID mean for .NET developers?
Azure Active Directory (Azure AD) is being renamed as part of unification with the expanded Microsoft Entra identity and network access product family. This is a name change only and does not require any direct action from .NET developers.
.NET Framework July 2023 Security and Quality Rollup Updates
July 2023 Security and Quality Rollup Updates for .NET Framework
.NET July 2023 Updates – .NET 7.0.9, .NET 6.0.20
Check out latest July 2023 updates for .NET 7.0 and .NET 6.0
New C# 12 preview features
.NET 8 Preview 6 adds three new features for C# 12: interceptors, inline arrays, and enhancements to the nameof expression.
ASP.NET Core updates in .NET 8 Preview 6
.NET 8 Preview 6 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET MAUI in .NET 8 Preview 6: Hello VS Code & VS for Mac
.NET MAUI in .NET 8 Preview 6 has more new quality improvements for developers, experimental new AOT for iOS, and exciting new Visual Studio support.
Announcing .NET 8 Preview 6
We're thrilled to announce .NET 8 Preview 6 which is packed with plenty of library updates, a new WASM mode, more source generators, constant performance improvements, and NativeAOT support on iOS.
Introducing System.Web Adapters v1.2 with new APIs and scenarios
Introducing the release of System.Web adapters v1.2 which introduces new APIs, better Blazor support, A/B testing of migrated endpoints, and more.
Improved Source Generators and Code Fixers Arrive in .NET Community Toolkit 8.2.1!
We're happy to announce the official launch of the .NET Community Toolkit 8.2.1 release, featuring lots of QoL improvements, bug fixes and optimizations to the source generators, new code fixers, and more!
Improvements to the Caching Abstraction in ASP.NET Core
We are updating caching in ASP.NET Core to be more intuitive and reliable
Improved F# hints in Visual Studio
We're introducing new F# hints and enhancing existing ones.
.NET Framework 4.8.1 is available on Windows Update and Catalog
Note: This post was updated on 6/27/2023 to account for this day's release on Windows Update and Microsoft Update Catalog. Today, the .NET Framework 4.8.1 is available on Windows Update and Microsoft Update Catalog for supported versions of Windows. With today's release, the .NET Framework 4.8.1 is now rolling out gradually to customers seeking the latest content on Windows Update. .NET Framework 4.8.1 is available for the following versions of Windows and distribution channels: Note: Customers using Windows Server Updates Services (WSUS), or any other update management tools can imp...
Get ready for fsharpConf 2023!
Join us on June 26, 2023, for the live stream of the fourth annual fsharpConf. This free virtual event, supported by the F# Software Foundation, will showcase world-class F# experts from across the globe.
Introducing the New T4 Command-Line Tool for .NET
Learn about the new T4 text template utility built with .NET 6
Microsoft Forms Service’s Journey to .NET 6
Microsoft Forms is an Office product with 130M monthly active users, recently we migrated our services to .NET 6, and we have seen 100%-200% increase in CPU efficiency.
.NET Framework June 2023 Security and Quality Rollup
June 2023 Security and Quality Rollup Updates for .NET Framework
Announcing .NET MAUI in .NET 8 Preview 5
.NET MAUI makes its way to .NET 8 Preview 5 and is full of new quality improvements for developers across the entire framework. In addition, we are introducing NuGet packages even greater flexibility going forward.
ASP.NET Core updates in .NET 8 Preview 5
.NET 8 Preview 5 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET 8 Preview 5
We're thrilled to announce .NET 8 Preview 5, featuring enhanced Metrics APIs, SourceLink integration, default Dynamic PGO, and Alpine ASP.NET Docker Composite Images.
.NET June 2023 Updates – .NET 7.0.8, .NET 6.0.19
Check out latest June 2023 updates for .NET 7.0 and .NET 6.0
The Microsoft Teams Global Hack – Week 1 Recap and What’s Coming
Week 1 of HackTogether: the Microsoft Teams Global Hack – the hackathon where we build apps for Microsoft Teams – is almost over. Here’s what happened and what’s coming. What happened in week 1 of the Microsoft Teams Global Hack? Following our initial keynote, we started this week with a series of live sessions to show you the different types of apps for Microsoft Teams and how to get started building them. June 5, 2023 | Introduction to Teams Tabs and building them with SharePoint Framework The first session was an introduction to Teams Tabs, which are web UI-based apps exposed inside Microsoft Teams. ...
HackTogether: the Microsoft Teams Global Hack – Keynote Recap and What’s Coming
Last week we launched HackTogether the Microsoft Teams Global Hack – a virtual hackathon all about building apps for Microsoft Teams. Here’s what happened last week and what’s still to come.
Announcing an update for .NET Upgrade Assistant with a new CLI tool!
The new version of .NET Upgrade Assistant CLI tool is available with all the new features for upgrading your apps!
Speech Recognition in .NET MAUI with CommunityToolkit
Learn how you can incorporate Speech Recognition into your .Net MAUI applications
.NET Framework May 2023 Cumulative Update Preview Updates
May 2023 Cumulative Update Preview Updates for .NET Framework
Transform your business with smart .NET apps powered by Azure and ChatGPT
Learn how you can build intelligent apps and unleash the full potential of AI in your .NET applications using ChatGPT.
Announcing Azure Monitor OpenTelemetry Distro
The Azure Monitor Open Telemetry distro has just been released. This library enables monitoring ASP.NET Core apps with Azure monitor a one line change, based on the infrastructure of Open Telemetry for .NET.
Object Detection in ML.NET Model Builder
Object detection using local environments is now available in ML.NET Model Builder to help you solve computer vision problems using machine learning.
Get started with ChatGPT in .NET
Learn what ChatGPT is and how you can get started using GPT models in conversations with Azure OpenAI service and .NET
Client Support for Calling WCF/CoreWCF with System.ServiceModel 6.0 Is Here!
The System.ServiceModel 6.0 packages have been released, they provide client suppport for calling into WCF and CoreWCF Services.
Hot Reload Supports Modifying Generics!
If you change generics in your code, Hot Reload can enforce the changes without restarting the app.
Announcing .NET 8 Preview 4
.NET 8 Preview 4 contains many exciting new features for the runtime and libraries, Native AOT improvements, modern build output and simplified paths, NuGet package security auditing, and much more!
ASP.NET Core updates in .NET 8 Preview 4
.NET 8 Preview 4 is now available! Check out what's new in ASP.NET Core in this update.
EF Core 8 Preview 4: Primitive collections and improved Contains
Announcing Entity Framework Core 8 (EF8) Preview 4 with support for primitive collections and improved Contains
Level up your GPT game with prompt engineering
Learn what prompt engineering is and how to use it to improve the quality of your GPT completions.
Join us for HackTogether: The Microsoft Teams Global Hack
Join us for HackTogether: The Microsoft Teams Global Hack, our virtual hackathon to learn how to build powerful apps for Microsoft Teams.
Announcing a new version of the .NET Upgrade Assistant with support for .NET MAUI and Azure Functions!
The new version of .NET Upgrade Assistant is available in Visual Studio Marketplace with lots of updates and new features!
Announcing .NET Community Toolkit 8.2! Faster generators, code fixers, performance improvements and more!
We're happy to announce the official launch of the .NET Community Toolkit 8.2 release, featuring performance improvements to the libraries and source generators, new code fixers and requested features, and more!
Get Started with OpenAI Completions with .NET
Learn what completions are and how to use the Azure .NET SDK to generate them using OpenAI.
.NET Framework April 2023 Cumulative Update Preview Updates
April 2023 Cumulative Update Preview Updates for .NET Framework
Let’s Learn .NET Virtual Events – All Around the World
Part of what makes .NET amazing is the global community of developers who use it, and we're bringing more content localized for developers around the world!
Drawing Elements on Maps with .NET MAUI
.NET MAUI now features a Map control that allows you not only to display a position with pins, but also render full geometry to essentially draw on a map! In this post I show you how to do it.
Join the .NET Team at Microsoft Build 2023!
Are you ready for Build 2023? Microsoft's premier developer conference is just around the corner, and there are several exciting .NET sessions that you won't want to miss!
Running non-root .NET containers with Kubernetes
Learn how to run .NET containers in Kubernetes as a non-root user.
NuGet.org Terms of Service Update on Unexpected Behavior and Hate Speech
In recent years, the .NET open source community and NuGet package registry have become increasingly important for sharing code. However, with the growth of these platforms, there has also been a rise in unexpected behavior and hate speech, which can be harmful and intimidating to many users. We have always been committed to creating a safe and welcoming environment for all our users. To this end, we have made a couple changes to our terms of service. In March 2023, we updated the nuget.org Terms of Use to include more contemporary language of these abuses. Read below for an overview of the changes we’re includin...
Get started with OpenAI in .NET
Learn how to get started using OpenAI models like GPT with .NET and the Azure SDK
Check out new C# 12 preview features!
The first set of C# 12 features are here in preview including primary constructors, using aliases, and lambda expression parameters.
Announcing .NET MAUI in .NET 8 Preview 3
.NET MAUI makes it's way to .NET 8 Preview 3 and is full of new quality improvements for developers across the entire framework. In addition, we are introducing NuGet packages even greater flexibility going forward.
ASP.NET Core updates in .NET 8 Preview 3
.NET 8 Preview 3 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET 8 Preview 3
.NET 8 Preview 3 is now available, with changes to build paths, workloads, Microsoft.Extensions, and containers. It also includes performance improvements in the JIT, for Arm64, and dynamic PGO.
.NET April 2023 Updates – .NET 7.0.5, .NET 6.0.16
Check out April 2023 updates for .NET 7.0. and .NET 6.0
Start your AI and .NET Adventure with #30DaysOfAzureAI
April AI #30DaysOfAzureAI is a series of daily posts throughout April focused on Azure AI. See what is in store for .NET Developers
Learn how to modernize your .NET apps from the pros!
We've got some great new resources to help you modernize your .NET apps, from intro videos and hands on modules to deep dive walkthroughs.
Improvements to auth and identity in ASP.NET Core 8
The ASP.NET Core team shares their plans to improve authentication, authorization, and identity management in .NET 8.
ASP.NET Core Route Tooling Enhancements in .NET 8
Route tooling is a group of new features in .NET 8 that makes ASP.NET Core routing easier to use. Check out what route tooling adds to building ASP.NET Core apps.
Improving multi-platform container support
Learn how to build containers for multiple architectures, including building containers on Apple M1 machines for an x64 cloud.
Create a portfolio website without installing any tools
Create, customize, and deploy your own portfolio website in minutes without installing any tools.
Discover .NET 7 SDK Containers – Support for Authentication and Cross-architecture Builds
Learn about updates to the .NET SDK built-in containerization support in 7.0.200, including authentication to remote registries and support for multiple OS platforms.
Secure your .NET cloud apps with rootless Linux Containers
Learn about patterns for securing your containers with a non-root user, and changes to .NET container images in .NET 8 to enable this behavior.
.NET Performance Delivers Again for Bing, From .NET 5 to .NET 7
.NET has continued to deliver significant performance gains for Bing through multiple releases.
File and Folder dialogs in .NET MAUI with CommunityToolkit
Effortlessly incorporate file system dialogs in your .NET MAUI applications.
Announcing: Azure Developers – .NET Day
Join us on April 30th for a full day of online training and discover the latest services and features in Azure designed specifically for .NET developers.
How Async/Await Really Works in C#
Async/await was added to the C# language over a decade ago and has transformed how we write scalable code for .NET. But how does it really work? In this post, we take a deep dive into its internals.
Announcing Polyglot Notebooks! Multi-language notebooks in Visual Studio Code
Polyglot Notebooks in VS Code is now generally available! Come try it out!
Hack Together: Microsoft Graph and .NET week #2 recap and final week overview
Join us for Hack Together, our virtual hackathon to learn how to build powerful apps with Microsoft Graph and .NET and win exciting prizes.
ASP.NET Core updates in .NET 8 Preview 2
.NET 8 Preview 2 is now available! Check out what's new in ASP.NET Core in this update.
EF Core 8 Preview 2: Lite and familiar
Announcing Entity Framework Core 8 (EF8) Preview 2 with support for JSON columns in SQLite and HierarchyId in SQL Server/Azure SQL
Announcing .NET 8 Preview 2
.NET 8 Preview 2 contains a few updates/new features from Preview 1, including introspection support for function pointers, as well as some other runtime and libraries improvements.
.NET March 2023 Updates – .NET 7.0.4, .NET 6.0.15
Check out March 2023 updates for .NET 7.0. and .NET 6.0
What’s new for the WinForms Visual Basic Application Framework
Since .NET 6, we updated the WinForms runtime to support and improve the Visual Basic Application Framework. In Visual Studio 2022, we also modernized the related user experience. Time to take a closer look how all this works behind the scenes, lets you move from .NET Framework to .NET 6/7+ and provides a great opportunity to modernize your WinForms Visual Basic Apps!
Generate images with AI using Stable Diffusion, C#, and ONNX Runtime
Stable Diffusion is an AI model used to generate images based on text prompts. Learn about the ONNX Runtime, Stable Diffusion, and how you get get started using AI to generate your own images with your preferred .NET technologies
Introducing the Reliable Web App Pattern for .NET
The first step of your application's cloud journey often times is the most difficult. We've created the Reliable Web App pattern to help you out. In this article you'll learn about the overall pattern and some easy code changes you can make today to get your app ready for its cloud journey.
Write a high-quality README for NuGet packages
Based on our recent customer interviews and surveys, one of the top problems that package consumers face is insufficient package documentation, such as README, changelog, examples, and API reference. On the other hand, package authors may struggle with best practices for creating a clear and concise README. Our goal is to improve the overall experience for both consumers and authors by addressing this issue. The README file is an essential part of your package as it provides important information to users and helps them understand what the package is and what it does quickly. It's also one of the first things us...
Microsoft Teams’ Permission Service migration to .NET 6
At Microsoft, we are constantly working on modernizing our services to make them faster, more efficient, and up to date with the latest technologies. In this blog post, we will cover one of Microsoft Teams' Services, Permission Service, how the migration to .NET 6 helped increase the performance by 100% and reduced latency by 30-45%!
Join us for Hack Together: Microsoft Graph and .NET
Join us for Hack Together, our virtual hackathon to learn how to build powerful apps with Microsoft Graph and .NET and win exciting prizes.
Announcing NuGet 6.5 – The Sweetest Way to Manage Your Packages
NuGet 6.5 is included in Visual Studio 2022 and .NET 7.0 out of the box. You can also download NuGet 6.5 for Windows, macOS, and Linux as a standalone executable. Tired of the sour taste of managing packages? NuGet 6.5 brings a new flavor of seamless central package management, simple package source mapping management, useful JSON machine readable output, and helpful Visual Studio additions. NuGet 6.5 Highlights There are many new features in NuGet 6.5: Streamlined package management inside Visual Studio with Directory.Packages.props support Central package management has been proven to be a helpfu...
Sentence Similarity in ML.NET Model Builder
The latest release of ML.NET Model Builder Visual Studio extension brings a new sentence similarity deep learning scenario and improvements to the GPU experience
Introducing F# Inline Type & Parameter Name Hints in Visual Studio
We're happy to announce a preview feature in the Visual Studio 2022 – F# Hints both type and parameter name!
Updated Modern Code Generation for WinForm’s InitializeComponent
When you design a WinForms Form, it gets generated into a method called InitializeComponent. When you reopen that Form, it gets recreated by interpreting that code. In Visual Studio 2022 17.5, we've modernized the code generation process. And made some changes.
Announcing .NET 8 Preview 1
.NET 8 Preview 1 introduces a roadmap for the year ahead, native AOT compilation, enhanced container and Linux support, and significant performance improvements.
ASP.NET Core updates in .NET 8 Preview 1
.NET 8 Preview 1 is now available! Check out what's new in ASP.NET Core in this update and learn about the roadmap for ASP.NET Core in .NET 8.
EF Core 8 Preview 1: Raw, lazy, and on-time
Announcing Entity Framework Core 8 (EF8)Preview 1 with raw SQL queries, lazy-loading, DateOnly/TimeOnly and more!
Upgrading your .NET projects with Visual Studio
The .NET Upgrade Assistant is now available as an experimental extension in Visual Studio to easily enable to update your apps and projects to the latest version of .NET.
Introducing Search By Target Framework on NuGet.org
Last year, we brought a new feature to improve the way you assess target framework compatibility of a NuGet package through a new "Frameworks" tab. Today, we are announcing a new feature that will allow you to search by a target framework on NuGet.org. Here’s how it looks: The first thing you might notice is that there is a new “Frameworks” filter on the left where you can select from a collection of .NET frameworks you’re interested in a package providing assets for. Selecting .NET in this example will match packages that are built for modern .NET including through and provides at least one of these versi...
.NET Framework February 2023 Security and Quality Rollup Updates
February 2023 Security and Quality Rollup Updates for .NET Framework
Improvements to .NET Framework updates for Windows 11, version 22H2
Fewer reboots, more secure Windows feature updates, and more control over preview .NET Framework updates. This post amplifies the announcement made on the Windows IT Pro blog to our .NET Blog developer and IT Pro audience. We are excited to announce two new features that will greatly improve the .NET Framework update experience for customers on Windows 11, version 22H2. Your device will experience fewer reboots, and you will have more control over optional .NET Framework updates. Experience fewer reboots when moving to Windows 11, version 22H2 We've integrated .NET Framework update...
.NET February 2023 Updates – .NET 7.0.3, .NET 6.0.14
Check out February 2023 updates for .NET 7.0. and .NET 6.0
What is .NET, and why should you choose it?
.NET has changed a lot over the last few years. Learn why you should choose it for your next project.
Update to the .NET language strategy
Interested in what is going on and the future of .NET languages, (C#, F#, and Visual Basic)? We have just published an updated version of the .NET Language Strategy on our documentation!
Play Audio and Video in .NET MAUI apps with the new MediaElement
.NET MAUI Community Toolkit MediaElement v1.0 is now available! Check out how to get started with playing audio and (live) video in your .NET MAUI app.
Using Command Binding in Windows Forms apps to go Cross-Platform
The WinForms code-behind approach has always made app development in WinForms unrivaled fast. For complex line-of-business apps, however, it can become an architectural challenge. New Command- and Data Binding Features in .NET 7 make UI-Controllers and MVVM an alternative and allow them also be reused in UI stacks like .NET MAUI.
5 .NET MAUI Features for Building Great Desktop Apps
When developing desktop apps with .NET MAUI there are great built in features that you can integrate into your apps to deliver a higher quality experience for the form factor. Today, we take a look at 5 unique features to consider in your apps.
.NET Framework January 2023 Cumulative Update Preview
January 2023 Cumulative Update Preview Updates for .NET Framework.
Announcing .NET Community Toolkit 8.1! Better, faster MVVM source generators, .NET 7 support, and more!
We’re happy to announce the official launch of the .NET Community Toolkit 8.1 release, bringing with it some new highly requested features, improvements, new analyzers and major performance optimizations to the MVVM Toolkit source generators!
.NET January 2023 Updates – .NET 7.0.2, .NET 6.0.13
Check out January 2023 updates for .NET 7.0. and .NET 6.0
Top .NET Blog Posts of 2022
Let's take a look back at the top .NET blogs posts from 2022!
Top .NET Videos & Live Streams of 2022
Let's take a look at the top .NET videos and live streams from the .NET team in 2022!
Accelerate ML.NET training with Intel oneDAL
The first preview release of ML.NET 3.0 brings training hardware acceleration improvements powered by Intel oneDAL.
Build Your Own Podcast App with .NET 7, Blazor, and .NET MAUI
The .NET Podcast app is a sample application showcasing .NET, ASP.NET Core, Blazor, .NET MAUI, Azure Container Apps, Orleans, and more. Pull down the source code and explore the architecture today.
.NET Framework December 2022 Security and Quality Rollup Updates
December 2022 Security and Quality Rollup Updates for .NET Framework
.NET December 2022 Updates – .NET 7.0.1, .NET 6.0.12, .NET Core 3.1.32
Check out December updates for .NET 7.0., .NET 6.0, and .NET Core 3.1
Polyglot Notebooks – Now with .NET 7, C# 11, and F# 7 Support!
The December 2022 release of the Polyglot Notebooks extension for Visual Studio Code is now available. This release includes upgrades to .NET 7, support for C# 11 and F# 7, and improvements to the SQL and KQL kernel experience!
.NET 7 Networking Improvements
Introducing new networking features in .NET 7 including HTTP space, new QUIC APIs, security, WebSockets, and more!
Migrating from ASP.NET to ASP.NET Core with Project Migrations Part 5
In this post we discuss updates to the Project Migrations tool for incrementally migrating ASP.NET apps to ASP.NET Core.
Custom Controls for WinForm’s Out-Of-Process Designer
A rich user control ecosystem has always been one of the most important WinForms success guarantors. While the runtime support for Custom Controls remains unchanged, there are breaking changes with the design time support for the new Windows Forms (WinForms) .NET Designer.
What’s new in the .NET MAUI Community Toolkit
Check out what's new in the latest .NET MAUI Community Toolkit releases.
Announcing ML.NET 2.0
Learn more about what's new in ML.NET 2.0 and Model Builder.
Announcing NuGet 6.4 – Signed, Central, Delivered
NuGet 6.4 is included in Visual Studio 2022 and .NET 7.0 out of the box. You can also download NuGet 6.4 for Windows, macOS, and Linux as a standalone executable. NuGet 6.4 is one of many releases in our .NET unification journey. Our NuGet tooling helps developers discover new .NET packages to use for their .NET applications, while making package management easier during your daily development. NuGet 6.4 Highlights There are many new features in NuGet 6.4: Central Package Management is production ready Earlier this year, we announced Central Package Management which is a feature to help you manage d...
.NET 7 is Available Today
.NET 7 is a modern, fast, unified, and simple development framework to build any applications and is available today.
Announcing ASP.NET Core in .NET 7
.NET 7 is now available! Check out all the new features and improvements in ASP.NET Core in .NET 7.
Announcing .NET MAUI for .NET 7 General Availability
.NET MAUI is now available for .NET 7 and is packed with exciting improvements for multi-platform developers including performance improvements, improved tooling, enhanced desktop support, and more!
What’s new in Orleans 7.0
What's new in Orleans 7.0
Announcing F# 7
F# 7 is here, see what's new!
Welcome to C# 11
C# 11 is here! Bringing with it some highly anticipated features including string literals, generic math, required members, and much more.
Entity Framework Core 7 (EF7) is available today
Announcing EF Core 7 (EF7) with JSON column mapping, bulk updates, TPC, and more!
What’s new in Windows Forms in .NET 7.0
Read about the new features that are in Windows Forms in .NET 7 including new accessibility features, High DPI, UI Automation, and more.
What’s new for WPF in .NET 7
Find out what's new in WPF on .NET 7 including accessibility improvements, a focus on performance, and much more.
.NET Framework November 2022 Security and Quality Rollup Updates
November 2022 Security and Quality Rollup Updates for .NET Framework
.NET November 2022 Updates – .NET 6.0.11 and .NET Core 3.1.31
Check out November updates for .NET 6.0
Bring WCF apps to the latest .NET with CoreWCF and Upgrade Assistant
The Upgrade Assistant can now migrate .NET Framework projects using WCF to .NET 6 with CoreWCF.
Announcing .NET Community Toolkit v8.1.0 Preview 1
We’re happy to announce the first preview of the upcoming .NET Community Toolkit 8.1 release is now live, bringing with it some new highly requested features and major performance optimizations to the MVVM Toolkit source generators!
.NET 7 Performance Improvements in .NET MAUI
What improvements did we bring to .NET MAUI in .NET 7? Click to find out more!
.NET Interactive Notebooks is now Polyglot Notebooks!
The .NET Interactive Notebooks extension in Visual Studio Code has been renamed to Polyglot Notebooks! Checkout what is new in this release for developers.
Create your .NET portfolio in the .NET Conf student zone
Join the .NET Student Zone on November 7 to build a .NET project portfolio!
Performance improvements in ASP.NET Core 7
.NET 7 brings a great amount of performance improvements to ASP.NET Core developers. Find out what is new and how to take adavantage of the latest enhancements.
Slaying Zombie ‘No Repro’ Crashes with Infer#
Turn Visual Studio into a one-stop-shop for your security and performance needs with Infer#
.NET Framework October 2022 Cumulative Update Preview
October 2022 Cumulative Update Preview for .NET Framework
Announcing .NET MAUI support for .NET 7 Release Candidate 2
.NET MAUI is now available with quality improvements for .NET 7 RC2.
What’s new in System.Text.Json in .NET 7
An overview of all .NET 7 features in System.Text.Json
Announcing .NET MAUI support for Xcode 14 and iOS 16
.NET MAUI now supports Xcode 14 and iOS 16
ASP.NET Core updates in .NET 7 Release Candidate 2
.NET 7 Release Candidate 2 is now available! Check out what's new in ASP.NET Core in this update.
Announcing Entity Framework Core 7 RC2: JSON Columns
Announcing EF Core 7 (EF7) RC2 featuring JSON column mapping
Announcing .NET 7 Release Candidate 2
.NET 7 Release Candidate 2 is the second of two release candidates that developers can now use in production. This post recaps major features included in the fastest .NET version to date.
.NET October 2022 Updates – .NET 6.0.10 and .NET Core 3.1.30
Check out October updates for .NET 6.0 and .NET Core 3.1
.NET Framework October 2022 Security and Quality Rollup
October 2022 Security and Quality Rollup for .NET Framework
Console.ReadKey improvements in .NET 7
Unix implementation of Console.ReadKey has been rewritten in .NET 7 RC1.
Bing Ads Campaign Platform – Journey to .NET 6
Bing Ads Campaign Platform - our journey migrating a large .NET Framework codebase to .NET 6.
Authentication for .NET MAUI Apps with MSAL.NET
Learn how to easily add authentication to your .NET MAUI applications with the latest version of the MSAL.NET library!
Announcing the .NET MAUI Community Toolkit v1.3
.NET MAUI Community Toolkit v1.3 is now available! Check out what's new in this update.
NuGet Season of Giving
NuGet has gone through a lot of changes over the last 10 years. From the package manager console, standalone NuGet.exe, and integration of NuGet into the .NET SDK, we have always relied on the open source community to help evolve and advance NuGet to meet the needs of the .NET ecosystem. Since NuGet has been on GitHub, the repository has resolved nearly 10,000 issues. Over the last 6 months, we focused on solving popular bugs filed through the GitHub repository and Developer Community. As a result of that effort, we addressed over 40 issues to improve your developer quality of life. Season of Giving For the ne...
Migrating from ASP.NET to ASP.NET Core with Project Migrations Part 4
In this post we discuss updates to the Project Migrations tool for incrementally migrating ASP.NET apps to ASP.NET Core.
Experimental WebTransport over HTTP/3 support in Kestrel
ASP.NET Core now has experimental support for WebTransport over HTTP/3, a new secure multiplexed transport protocol for the web. Learn how to try out this new transport protocol in your app.
Microsoft Teams’ Infrastructure and Azure Communication Services’ Journey to .NET 6
Microsoft Teams’ infrastructure team, or Intelligent Conversation and Communications Cloud (IC3), aspires to be the industry leading platform with reliable and high-quality audio and video calling, meetings, and chat experiences that work any time, from anywhere, on any device. A key element of our platform evolution is the migration from .NET Framework to the latest version of .NET LTS, currently .NET 6.
Microsoft Commerce’s .NET 6 Migration Journey
Microsoft Commerce is a diverse set of services (>700) services and recently made the journey to .NET 6 from .NET Framework. Here are some tips, tricks, and results from our journey to .NET 6.
Use .NET from any JavaScript app in .NET 7
Port of the famous TodoMVC to .NET on WASM. Showcase of the JavaScript interop and running .NET in the browser, with or without Blazor.
.NET Framework September 2022 Cumulative Update Preview
September 2022 Cumulative Update Preview Updates for .NET Framework
.NET MAUI in .NET 7 Release Candidate 1
.NET MAUI is now part of .NET 7 in RC1 with tons of improvements, and a few new features.
ASP.NET Core updates in .NET 7 Release Candidate 1
.NET 7 Release Candidate 1 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET 7 Release Candidate 1
.NET 7 Release Candidate 1 is the first of two release candidates that developers can now use in production. This post recaps major features included in the fastest .NET version to date.
Announcing Entity Framework 7 Release Candidate 1
Announcing EF7 Release Candidate 1
Microsoft Teams Assignments Service’s Journey to .NET 6
The Assignments and Grades features in Teams have seen exponential growth in usage as schools around the world have undergone a digital transformation. To better meet the needs of teachers and students, we have recently migrated our backend service to .NET 6.
.NET Framework September 2022 Security and Quality Rollup
September 2022 Security and Quality Rollup for .NET Framework
.NET September 2022 Updates – .NET 6.0.9 and .NET Core 3.1.29
Check out September updates for .NET 6.0 and .NET Core 3.1
Arm64 Performance Improvements in .NET 7
.NET 7 introduces a plethora of performance improvements for developers including developers targeting Arm64 devices. In this blog I break down everything you need to know about the improvements in .NET 7.
.NET now on Windows Package Manager
.NET is now available to install through the Windows Package Manager (Winget). Read all about how what it is, how to install, and more.
.NET 7 comes to Azure Functions & Visual Studio 2022
.NET 7 comes to Azure Functions and tooling supported in Visual Studio! Learn how to build and deploy isolated functions.
Performance Improvements in .NET 7
.NET 7 is fast. Really fast. In this post, we'll deep-dive into literally hundreds of performance improvements that contributed to that reality.
.NET MAUI Cloud Skills Challenge – Learn .NET MAUI, Get Stickers!
Learn how to build multi-platform apps with .NET MAUI with it the .NET MAUI Cloud Skills Challenge, register now, complete modules, and get some stickers!
.NET Framework August 2022 Cumulative Update Preview Updates
August 2022 Cumulative Update Preview Updates for .NET Framework.
Announcing built-in container support for the .NET SDK
Describes the new container image building support in the .NET 7 SDK.
.NET MAUI eBook Now Available – Enterprise Application Patterns
Looking to get started with .NET MAUI and need architecture guidance? The new free .NET MAUI eBook on enterprise application patterns is now available.
A Heavy Lift: Bringing Kestrel + YARP to Azure App Services
In this post, we get a behind-the-scenes look at the engineering work required to change a critical platform component with code paths that are exercised billions of times a day while minimizing service disruptions and maintaining SLA for our customers.
C# 11 preview: generic math, required members, and more
Most of the C# 11 features are available for you to try. Learn about the latest updates shipping with Visual Studio 17.3, try them out, and give us feedback.
.NET Conf Focus on MAUI – That’s a wrap!
August 9th we hosted our .NET Conf Focus on MAUI event to announce and share the latest tools and updates for .NET MAUI. With 25 sessions hosted and recorded, we recap the event and get you connected with all of the content from our event.
.NET 6 is now in Ubuntu 22.04
.NET 6 is now included in Ubuntu 22.04 (Jammy) and can be installed with just apt install dotnet6. This change is a major improvement and simplification for Ubuntu users. We're also releasing .NET with Chiseled Ubuntu Containers, a new small and secure container offering from Canonical. These improvements are the result of a new partnership between Canonical and Microsoft.
.NET Framework August 2022 Security and Quality Rollup Updates
August 2022 Security and Quality Rollup Updates for .NET Framework
Announcing NuGet 6.3 – Transitive Dependencies, Floating Versions, and Re-enabling Signed Package Verification
NuGet 6.3 is included in Visual Studio 2022 and .NET 6.0 out of the box. You can also download NuGet 6.3 for Windows, macOS, and Linux as a standalone executable. NuGet 6.3 is one of many releases in our .NET unification journey. Our NuGet tooling helps developers discover new .NET packages to use for their .NET applications, while making package management easier during your daily development. NuGet 6.3 Highlights There are many new features in NuGet 6.3: Consume pdbs from packages in PackageReference For any given assembly under and folder from a , if there are files next to it that differ only ...
Introducing Transitive Dependencies in Visual Studio
We heard from you that direct dependencies are easy to track, but that you struggle with tracking transitive dependencies. We want to make that easier for the day-to-day management of your NuGet packages in Visual Studio. To help you track transitive dependencies and remediate vulnerabilities quickly with SDK-style projects, we are introducing an experimental feature in Visual Studio 17.3 to help you view and take action regarding your transitive dependencies. If you're apart of our experiment group, you'll be able to see your transitive dependencies whenever you're managing your NuGet packages in Visual Studio....
HTTPS everywhere
Safety guaranteed As an ongoing effort to make HTTPS everywhere a reality for NuGet, we have taken a number of steps to help protect your everyday package management experiences. Earlier this year, a security fact sheet from The White House reinforced companies to take action to secure our software supply chains. HTTPS and SSL not only encrypt our data so it cannot be used if it is stolen, but it helps us to avoid MITM attacks. In short, it prevents someone from getting between you and NuGet. Every time you interact with NuGet, it should be over HTTPS so you can be sure the response you're getting back is in f...
Announcing .NET Framework 4.8.1
Announcing the release of .NET Framework 4.8.1 that bring ARM64 support, WinForms accessibility enhancements, and more.
Productivity comes to .NET MAUI in Visual Studio 2022
Visual Studio 2022 17.3 is now available and delivers spectacular productivity features for .NET Multi-platform App UI (.NET MAUI).
Announcing .NET 7 Preview 7
.NET 7 Preview 7 is now available with improvements to System.LINQ, Unix file permissions, low-level structs, p/Invoke source generation, code generation, and websockets.
ASP.NET Core updates in .NET 7 Preview 7
.NET 7 Preview 7 is now available! Check out what's new in ASP.NET Core in this update.
Announcing Entity Framework 7 Preview 7: Interceptors!
Announcing EF7 Preview 7 with new and improved interceptors, and so much more!
.NET August 2022 Updates – .NET 6.0.8 and .NET Core 3.1.28
Check out July updates for .NET 6.0 and .NET Core 3.1
Announcing SynapseML for .NET – Large Scale ML with a Simple API
Announcing the release of hundreds of new distributed machine learning models and capabilities for .NET as part of the SynapseML distributed ML library.
Migrating from ASP.NET to ASP.NET Core in Visual Studio
In this post we introduce a new tool that will assist in incrementally migrating ASP.NET (.NET Framework) project to ASP.NET Core
Announcing the .NET MAUI Beautiful UI Challenge
.NET MAUI community challenge featuring Snppts and Good Looking UI community run repos! Simply submit to be eligible for swag!
Announcing .NET Community Toolkit 8.0! MVVM, Diagnostics, Performance, and more!
We're happy to announce the official launch of the new .NET Community Toolkit version 8.0! Including tons of new features such as MVVM source generators, diagnostics, performance helpers, and more!
.NET Framework July 2022 Cumulative Update Preview
July 2022 Cumulative Update Preview Updates for .NET Framework
Announcing .NET Conf – Focus on .NET MAUI, Reactor, and Community Events
Ready to get building with .NET MAUI? Join us for .NET Conf - Focus on MAUI, worldwide Reactor events, and local community event opportunities.
Customizing Controls in .NET MAUI
Let's look at how to customize .NET MAUI controls.
Announcing Rate Limiting for .NET
We're excited to announce built-in Rate Limiting support as part of .NET 7. Rate limiting provides a way to protect a resource in order to avoid overwhelming your app and keep traffic at a safe level.
.NET Framework July 2022 Security and Quality Rollup Updates
July 2022 Security and Quality Rollup Updates for .NET Framework
Announcing .NET 7 Preview 6
.NET 7 Preview 6 is now available with improvements to type converters, JSON contract customization, System.Formats.Tar API updates, constraints to .NET template authoring, and performance enhancements in the CodeGen area.
ASP.NET Core updates in .NET 7 Preview 6
.NET 7 Preview 6 is now available! Check out what's new in ASP.NET Core in this update.
Announcing Entity Framework Core 7 Preview 6: Performance Edition
Announcing EF7 Preview 6 with update performance optimizations
.NET Core 3.1 will reach End of Support on December 13, 2022
.NET Core 3.1 will reach end of support on December 13, 2022, this blog breaks down all the valuable information you need to know and how to update to .NET 6.0.
.NET July 2022 Updates – .NET 6.0.7 and .NET Core 3.1.27
Check out July updates for .NET 6.0 and .NET Core 3.1
CoreWCF 1.1.0 and project templates
CoreWCF 1.1 has been released, and now we have a project templates package
Getting Started with DevOps and .NET MAUI
Want to add DevOps to your .NET MAUI project? This post shows how to implement a starter pipeline using GitHub Actions and Azure DevOps.
Incremental ASP.NET Migration Tooling Preview 2
Introducing preview 2 of incremental ASP.NET migration tooling, including support for shared authentication.
Improving .NET host error messages and supportability
Error messages and dotnet --info have been updated with more useful information to improve supportability.
New Resources to Get Started with .NET MAUI
We have a suite of new resources to help you learn .NET MAUI. Come along with us on this learning journey.
.NET Framework June 2022 Security and Quality Rollup Updates
June 2022 Security and Quality Rollup Updates for .NET Framework
Introducing the ML.NET Text Classification API (preview)
Introducing the new ML.NET Text Classification API (preview) which uses state-of-the-art NLP transformer models and TorchSharp to train custom text classification models.
.NET June 2022 Updates – .NET 6.0.6 and .NET Core 3.1.26
Check out May updates for .NET 6.0 and .NET Core 3.1
Announcing .NET 7 Preview 5
.NET 7 Preview 5 is now available with improvements to ML.NET and Generic Math, a new Roslyn analyzer and fixer for RegexGenerator and multiple performance improvements in the areas of CodeGen, Observability, JSON serialization / deserialization and working with streams.
Announcing Entity Framework 7 Preview 5
Announcing EF7 Preview 5 with completed support for Table-per-Concrete Type (TPC).
ASP.NET Core updates in .NET 7 Preview 5
.NET 7 Preview 5 is now available! Check out what's new in ASP.NET Core in this update.
OneService Journey to .NET 6
The journey of the Microsoft OneService team from .NET Framework to .NET 6 and the wins that came from it.
.NET 7 Preview 5 – Generic Math
.NET 7 Preview 5 includes significant improvements to the Generic Math feature.
Exchange Online Journey to .NET Core
Explore Exchange's migration from .NET Framework to .NET Core
Performance Improvements in .NET MAUI
Want to know why .NET MAUI apps boot faster, run smoother, and are smaller? This post break down how we made .NET MAUI fast!
Incremental ASP.NET to ASP.NET Core Migration
Introducing a simple pattern to apply the Strangler Fig pattern to migrating ASP.NET to ASP.NET Core applications with the help of some new adapters.
.NET Framework May 2022 Cumulative Update
We are releasing the May 2022 Cumulative Update Preview Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. WPF 1 Winforms .NET Runtime Workflow 1 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update, Wind...
Introducing .NET MAUI – One Codebase, Many Platforms
Welcome to .NET Multi-platform App UI. This release marks a new milestone in our multi-year journey to unify the .NET platform. Now you and over 5 million other .NET developers have a first-class, cross-platform UI stack targeting Android, iOS, macOS, and Windows to complement the .NET toolchain (SDK) and base class library (BCL). You can build anything with .NET. Join us at Microsoft Build 2022 where we’ll give you a tour of all the updates for building native apps for any device with .NET and Visual Studio. » Learn more. This is just the beginning of our journey to create a desktop and mobile app experience t...
What’s new with ML.NET Automated ML (AutoML) and tooling
Check out what's new with ML.NET Automated ML (AutoML), tooling, and notebooks!
The Azure Cosmos DB Journey to .NET 6
Azure Cosmos DB is a fully-managed, multi-tenant, distributed, shared-nothing, horizontally scalable database that provides planet-scale NoSQL capabilities offering APIs for Apache Cassandra, MongoDB, Gremlin, Tables, and the Core (SQL) APIs . A core component of the Azure Cosmos DB service is the API Gateway that handles request parsing and routing across all supported APIs. It is now running on .NET 6. The API Gateway is the front door for the service that accepts and processes trillions of requests daily! Given the high throughput and scalability demands for the API Gateway, we continually invest in optimizing...
Regular Expression Improvements in .NET 7
System.Text.RegularExpressions has improved significantly in .NET 7. In this post, we'll deep-dive into many of its exciting improvements.
Announcing gRPC JSON transcoding for .NET
gRPC JSON transcoding is a new feature for .NET that allows gRPC services to be called with REST + JSON. Try it now in .NET 7 preview 4.
.NET MAUI Release Candidate 3
.NET MAUI Release Candidate 3 is now available with dozens of bug fixes and quality improvements. We also take a look at navigating with Shell including passing parameters and full objects.
Announcing Entity Framework 7 Preview 4
Announcing the release of EF7 Preview 4 and DDD-friendly value converters for value generators.
ASP.NET Core updates in .NET 7 Preview 4
.NET 7 Preview 4 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET 7 Preview 4
.NET 7 Preview 4 is now available with enhancements to the OpenTelemetry implementation, date and time, cache metrics, on stack replacement (OSR) and regular expressions.
.NET May 2022 Updates – .NET 6.0.5, .NET 5.0.17 and, .NET Core 3.1.25
Check out May updates for .NET 6.0, .NET 5.0, and .NET Core 3.1
.NET Framework May 2022 Security and Quality Rollup
We are releasing the May 2022 Security and Quality Rollup Updates for .NET Framework.
Upgrading a WCF service to .NET 6 with CoreWCF
Let's take a look at how to upgrade a sample WCF service to .NET 6 using CoreWCF.
Quickly Map Your NuGet Packages to Sources
Package Source Mapper When we introduced Package Source Mapping late last year, we noticed a certain challenge to make onboarding to using the feature easier. Could there be a way for us to automatically generate a NuGet.config for you based on your project’s known packages and sources? We started to develop a tool that does just that for you. Learn more about how you can use it below. Getting the Tool You can download the tool directly from NuGet.org as a dotnet tool: Alternatively, you can download and compile the code locally if you prefer to. Using Package Source Mapper The package source mapper tool...
Microsoft Graph’s Journey to .NET 6
Read about the journey of Microsoft Graph on upgrading from .NET Framework 4.6 to .NET 6 and all the impact that came with it.
YARP 1.1 is here with new requested reverse proxy features
YARP 1.1 has been released. YARP is a highly customizable open-source reverse proxy written for .NET. This release adds a few commonly requested features.
CoreWCF 1.0 has been Released, WCF for .NET Core and .NET 5+
CoreWCF 1.0 has been released, the first major release of the project, and provides WCF functionality for .NET Core, .NET Framework and .NET 5+.
.NET MAUI Release Candidate 2 – With 100% More Tizen
.NET MAUI Release Candidate 2 is now available with dozens of bug fixes full support for Tizen. Get started today to build app for Android, Windows, iOS, and macOS.
.NET Framework April 2022 Cumulative Update Preview
We have released the April 2022 Cumulative Update Preview for .NET Framework with several quality and reliability improvements.
C# 11 Preview Updates – Raw string literals, UTF-8 and more!
C# 11 features are coming along nicely and the most recent release features all sorts of goodies including updates to string literals, pattern matching, checked user-defined operators, and an update on !!.
Announcing .NET 7 Preview 3
.NET 7 Preview 3 is now available with enhancements to observability, startup times, codegen, GC regions, native AOT compilation, and more.
Announcing Entity Framework Core 7 (EF7) Preview 3
Announcing the release of EF7 Preview 3 and custom database-first scaffolding with T4 templates.
.NET MAUI Release Candidate – Ready for cross-platform app development
.NET MAUI Release Candidate is now feature complete, API stable for the upcoming GA release. Get started today to build app for Android, Windows, iOS, and macOS.
.NET Automatic Updates for Server Operating Systems
Server operating systems can opt in to get automatic updates for .NET. Learn how to easly opt in so you never miss an update.
.NET April 2022 Updates – .NET 6.0.4, .NET 5.0.16 and, .NET Core 3.1.24
Check out April updates for .NET 6.0, .NET 5.0, and .NET Core 3.1
.NET Framework April 2022 Security and Quality Rollup Updates
We are releasing the April 2022 Security and Quality Rollup Updates for .NET Framework.
Introducing Central Package Management
Central Package Management Dependency management is a core feature of NuGet. Managing dependencies for a single project can be easy. Managing dependencies for multi-project solutions can prove to be difficult as they start to scale in size and complexity. In situations where you manage common dependencies for many different projects, you can leverage NuGet's central package management features to do all of this from the ease of a single location. Historically, NuGet package dependencies have been managed in two main locations: Starting with NuGet 6.2, you can centrally manage your dependencies in your pro...
ASP.NET Core updates in .NET 7 Preview 3
.NET 7 Preview 3 is here and adds some great new features to ASP.NET Core including support for route handler filters in minimal APIs, improved unit testability for minimal route handlers, performance enhancements, and more.
.NET Framework 4.5.2, 4.6, and 4.6.1 will reach End of Support on Apr 26, 2022
.NET Framework 4.5.2, 4.6, and 4.6.1 will reach End of Support on Apr 26, 2022, this blog post is a reminder/refresher for customers that might have missed the post a year ago.
.NET 5.0 will reach End of Support on May 10, 2022
.NET 5.0 will reach end of support on May 08, 2022, this blog breaks down all the valuable information you need to know and how to update to .NET 6.0.
Go To Definition improvements for external source in Roslyn
An in depth look at improvements to Go To Definition (and Go To Implementation, and Go To Base, etc.) allowing you to navigate to source code that isn't in your current solution, but instead comes from external dependencies.
Announcing .NET MAUI Preview 14
.NET MAUI Preview 14 has shipped with plenty of great new features to try out including a hefty volume of issue resolutions and completed features, and one new feature that will be a welcome addition for desktop developers: the MenuBar!
ASP.NET Core updates in .NET 7 Preview 2
.NET 7 Preview 2 is now available! Check out what's new in ASP.NET Core in this update.
Announcing .NET 7 Preview 2 – The New, ‘New’ Experience
.NET 7 Preview 2 is now available with enhancements to RegEx source generators, progress moving NativeAOT into the runtime, and a major set of improvements to the 'dotnet new' CLI experience.
Automate code metrics and class diagrams with GitHub Actions
Let's take a look at how you can add code metrics and diagrams for your open-source .NET repositories with GitHub Actions.
.NET March 2022 Updates – .NET 6.0.3, .NET 5.0.15 and, .NET Core 3.1.23
Check out March 2022 updates for .NET 6.0 and .NET 5.0. Here is a full rundown including release notes and announcements.
Sharing code between ASP.NET and ASP.NET Core
You can begin your journey to ASP.NET Core by migrating one page at a time and do it by reusing the code you already have today. This article shows how to share controllers, models, and views from the 10-year-old MVC Music Store with a new ASP.NET Core project.
Training a ML.NET Model with Azure ML
Learn how to create a training pipeline for ML.NET using Azure ML and Azure Devops.
.NET 💜 GitHub Actions: Intro to GitHub Actions for .NET
Use GitHub Actions to automate common .NET build, test, and deploy tasks.
Early peek at C# 11 features
Learn about the C# 11 preview features you can try out in Visual Studio 17.1 and .NET SDK 6.0.200!
Requiring two-factor authentication on NuGet.org
NuGet.org will begin requiring two-factor authentication for accounts starting March 8th.
Announcing Entity Framework 7 Preview 1
Announcing the release of EF7 Preview 1, the first preview of the new Entity Framework Core.
Announcing .NET 7 Preview 1
.NET 7 Preview 1 is now available and is the start of a major .NET release, focused on cloud native, app modernization, containers, and many other improvements.
ASP.NET Core updates in .NET 7 Preview 1
.NET 7 Preview 1 is now available! Check out what's new in ASP.NET Core in this update and learn about the roadmap for ASP.NET Core in .NET 7.
Introducing Compatible Packages on NuGet.org
As part of our ongoing commitment to improve the NuGet ecosystem, today we are excited to introduce a couple new features on NuGet.org to help you determine if a package is compatible with the target frameworks you know and love. This is how it looks: You will now have a new "Frameworks" tab on any package details page. This will give you a table of all provided assets based on the .NET product and version. In addition to compatible target framework assets, we also compute target frameworks that will be compatible given the current assets provided. In addition, you'll now see target framework badges at t...
.NET Framework February 2022 Cumulative Update Preview
Today, we are releasing the February 2022 Cumulative Update Preview for .NET Framework. Security The February Security and Quality Rollup Update does not contain any new security fixes. See January 2022 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. NET Libraries Winforms Getting the Update The Cumulative Update Preview is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft...
Announcing .NET MAUI Preview 13
.NET MAUI Preview 13 has shipped with more controls, layout updates, and performance improvements.
Happy 20th Anniversary, .NET!
Today marks 20 years since Visual Studio .NET launched and the first version of the .NET platform was released. We’re celebrating all month long on Twitter #dotNETLovesMe and we encourage you to tune into a special celebration broadcast, February 14, 9:00am Pacific Time on www.dot.net.
.NET Framework February 2022 Security and Quality Rollup
This week, we released the February 2022 Security and Quality Rollup for .NET Framework.
.NET February 2022 Updates – 6.0.2 and 5.0.14
Check out February updates for .NET 6.0 and .NET 5.0.
Databinding with the OOP Windows Forms Designer
Databinding in the Windows Forms OOP Designer focuses on Object Data Sources, and it has a different approach to set up data sources compared to the .NET Framework Designer. Read what you need to know about Databinding in WinForms for .NET apps.
Performance improvements in ASP.NET Core 6
ASP.NET Core in .NET 6 brought several performance improvements. In this article I cover some top improvements and why now is a great time to upgrade to .NET 6.
.NET Framework January 2022 Cumulative Update Preview
Today, we are releasing the January 2022 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update, Windows S...
Announcing .NET MAUI Preview 12
.NET MAUI Preview 12 has shipped with lots of quality improvements, plus new features for Shell and dependency injection.
State of the Windows Forms Designer for .NET Applications
The Windows Forms designer for .NET is ready for prime time! There will be differences if you previously have used the designer with .NET Framework apps. In this blog post, I break down what you need to know.
.NET Framework January 2022 Security and Quality Rollup Updates
Yesterday, we are released the January 2022 Security and Quality Rollup Updates for .NET Framework. Security CVE-2022-21911 – .NET Framework Denial of Service This security update addresses an issue where an unauthenticated attacker could cause a denial of service on an affected system. Quality and Reliability This release contains the following quality and reliability improvements. SQL Connectivity WCF1 WPF2 1 Windows Communication Foundation (WCF) 2 Windows Presentation Foundation (WPF) Getting the Update The Security and Quality Rollup is available vi...
Announcing .NET MAUI Preview 11
.NET MAUI Preview 11 continues to stabilize controls and layouts, and introduces multi-window and Fluent updates for Windows.
A Comprehensive Guide to Port from EF6 to EF Core
Get detailed guidance for porting your EF6 apps to EF Core.
Announcing the Plan for EF7
See what the .NET data team has on the roadmap for Entity Framework Core 7.
.NET December 2021 Updates – 6.0.1, 5.0.13 and 3.1.22
Check out December updates for .NET 6.0, .NET 5.0, and .NET Core 3.1.22.
.NET 6 Networking Improvements
Introducing new networking features in .NET 6.
Announcing dot.net in Japanese and Simplified Chinese
The .NET website is now available in languages other than English. Check it out!
What’s new for gRPC in .NET 6
Check out the great new features and performance improvements for gRPC in .NET 6
.NET Conf 2021 Recap – Videos, Slides, Demos, and More
.NET Conf 2021 is over, but you can re-live the largest .NET event of the year with full access to video recordings, slides, demos, and more.
Get to Know EF Core 6
Learn how to download and work with EF Core 6 and new features from improved support for Azure Cosmos DB to increased performance and first-class APIs to SQL Server temporal tables.
Infer# v1.2: Interprocedural Memory Safety Analysis For C#
Infer# v1.2 brings the first interprocedural race condition detection to .NET. Use it today locally in Windows via WSL2 or directly in continuous integration via Azure Pipelines or GitHub Actions.
What’s new in Windows Forms in .NET 6.0
Read about the new features that are in Windows Forms in .NET 6.0.
Azure Active Directory’s gateway is on .NET 6.0!
Read about gains from Azure Active Directory gateway service's migration from .NET 5.0 to .NET 6.0.
MSBuild and 64-bit Visual Studio 2022
Learn how the shift to 64-bit Visual Studio can impact your builds
Announcing dotnet monitor in .NET 6
Introducing the first release of dotnet monitor, a diagnostics tool for .NET applications
.NET Framework November 2021 Cumulative Update
Today, we are releasing the November 2021 Cumulative Update for .NET Framework. Security The November Security and Quality Rollup Update does not contain any new security fixes. See February 2021 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 Container Improvement 1 Common Language Runtime (CLR) Getting the Update The Cumulative Update Preview is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You ca...
F# 6 is officially here!
F# 6 is released as part of .NET 6. You'll find new task based async, pipeline debugging, and tons of other features!
Announcing YARP 1.0 Release
YARP, an open-source, highly customizable reverse proxy using .NET has been released.
Announcing .NET MAUI Preview 10
.NET MAUI Preview 10 includes a single installation experience with Windows App SDK, and new controls such as CollectionView and IndicatorView.
.NET November 2021 Updates – 5.0.12 and 3.1.21
Today, we are releasing the .NET November 2021 Updates. These updates contains reliability and other improvements. See the individual release notes for details on updated packages. You can download 5.0.12 and 3.1.21 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Improvements Visual Studio See release notes for Visual Studio compatibility for .NET Core 3.1 and .NET 5.0.
Announcing NuGet 6.0 – Source Mapping, Package Vulnerabilities, Faster Solution Load, Oh My!
NuGet 6.0 - Source Mapping, Package Vulnerabilities, Faster Solution Load, Oh My! NuGet 6.0 is included in Visual Studio 2022 and .NET 6.0 out of the box. You can also download NuGet 6.0 for Windows, macOS, and Linux as a standalone executable. NuGet 6.0 is one of many releases in our .NET unification journey. Our NuGet tooling helps developers discover new .NET packages to use for their .NET applications, while making package management easier during your daily development. NuGet 6.0 Highlights There are many new features in NuGet 6.0: .NET 6 Support NuGet 6.0 is the first release to offer full ...
Announcing .NET 6 — The Fastest .NET Yet
.NET 6 is now available. It is easier to use, runs faster, and has many new features.
What’s New for Visual Basic in Visual Studio 2022
Check out the great new features for Visual Basic developers in Visual 2022
Welcome to C# 10
Check out the great new features in C# 10 as part of .NET 6 and Visual Studio 2022, that make your code prettier, more expressive, and faster.
Announcing ASP.NET Core in .NET 6
.NET 6 is now available! Check out all the new features and improvements in ASP.NET Core in .NET 6.
Introducing the .NET Tech Community Forums
Today, we are launching the .NET Tech Community for developers to have deep technical discussions, share how-tos, talk best practices, and more.
.NET 6 Launches at .NET Conf, November 9-11
.NET Conf is a free, three-day, virtual developer event that celebrates the major releases of the .NET development platform. This year .NET 6 launches at .NET Conf 2021. Come celebrate and learn about the new release.
Build client web assets for your Razor Class Library
Learn how to integrate a build process for client web assets using tools like npm and webpack into the builds of your Razor Class Libraries.
Women IC (Individual Contributor) engineer mentoring ring
During this fiscal year I ran a women IC mentoring ring in the Developer Division at Microsoft. It was part of the women's mentoring ring program in our division. I've always felt a little sad when I looked around and saw very few women ICs at very senior levels. Most women who advanced to those levels became managers. This was what prompted me to suggest such a mentoring ring to the organizers of the women's mentoring ring program. I'm happy to report that the ring remains one of the most requested so it will keep going for next fiscal year (I will however be leading a different mentoring ring ju...
.NET Hot Reload Support via CLI
Last week, our blog post and the removal of the Hot Reload capability from the .NET SDK repo led to a lot of feedback from the community. First and foremost, we want to apologize. We made a mistake in executing on our decision and took longer than expected to respond back to the community.
Update on .NET Hot Reload progress and Visual Studio 2022 Highlights
.NET Hot Reload progress update. This includes what's new in platform support, user experiences, supported edits and more since our May 2021 blog post. We'll also cover how far we've come with Visual Studio 2022 integration.
What’s new in F# 6
F# 6 is now a release candidate. Checkout all of the new features available in this release.
Contributing to .NET MAUI Community Toolkit
Announcing the new process for contributing to the .NET MAUI Community Toolkit
.NET Framework October 2021 Security and Quality Rollup
Yesterday, we released the October 2021 Security and Quality Rollup for .NET Framework. Security The October Security and Quality Rollup does not contain any new security fixes. See February 2021 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 1 Common Language Runtime (CLR) Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the ...
.NET October 2021 Updates – 5.0.11 and 3.1.20
Today, we are releasing .NET 5 and .NET Core Updates for October 2021. These updates contains reliability and other improvements.
ASP.NET Core updates in .NET 6 Release Candidate 2
.NET 6 Release Candidate 2 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing .NET 6 Release Candidate 2
.NET 6 Release Candidate 2 is now available.
Announcing .NET MAUI Preview 9
The next .NET MAUI preview is now available with borders, corners, and shadows - oh my!
Prime your flux capacitor: SQL Server temporal tables in EF Core 6.0
EF Core 6.0 supports SQL Server temporal tables to automatically keep track of all the data ever stored in a table, even after that data has been updated or deleted.
ML.NET Updates & Announcing Notebooks in Visual Studio
Check out what's new in ML.NET and Model Builder.
Custom deployment layout for Blazor WebAssembly apps
.NET 6 adds support for custom packaging of Blazor WebAssembly apps. In this post we'll try out the new JavaScript initializers and publishing extensibility to package Blazor WebAssembly apps as multipart bundles.
Introducing the New NuGet.org Package Details Page
Today, we are excited to announce a massive makeover for the package details page on NuGet.org. We built NuGet.org to help .NET developers find packages that will accelerate their projects, and this latest update has changes meant to help package consumers and authors alike.
HTTP/3 support in .NET 6
See how to use HTTP/3 in your apps built using .NET 6.
Introducing Package Source Mapping
We're happy to announce the first preview release of Package Source Mapping with Visual Studio 2022 preview 4! Package Source Mapping gives you fine-grained control of where your packages come from by mapping every package in your solution to a target package source.
ASP.NET Core updates in .NET 6 Release Candidate 1
.NET 6 Release Candidate 1 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing .NET 6 Release Candidate 1
.NET 6 RC1 is now available.
.NET September 2021 Updates – 5.0.10 and 3.1.19
Today, we are releasing the .NET September 2021 Updates. These updates contains reliability and other improvements. See the individual release notes for details on updated packages. You can download 5.0.10 and 3.1.19 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Improvements Visual Studio See release notes for Visual Studio compatibility for .NET Core 3.1 and .NET 5.0. OS Lifecycle update Alpine 3.14 and Debian 11 "bullseye" are now supported with .NET 5.0.10 and .NET Core 3.1.19. Container images are also now available for Alpine ...
Update on .NET Multi-platform App UI (.NET MAUI)
The next .NET MAUI preview is now available.
Taking the EF Core Azure Cosmos DB Provider for a Test Drive
An overview of some enhancements to the Azure Cosmos DB provider for Entity Framework Core introduced in EF Core 6.0. Includes a reference project that demonstrates implicit ownership, primitive collections and raw SQL.
File IO improvements in .NET 6
High-performance File IO
Introducing the .NET MAUI Community Toolkit (Preview)
Announcing the first preview release of the .NET MAUI Community Toolkit
Learn to build applications with F#
Want to learn how to write write succinct, robust, and performant code with F#? Here's everything you need to get started today!
New .NET 6 APIs driven by the developer community
.NET 6 is on the way, and I wanted to share some of my favorite new APIs that you are going to love.
Understanding the cost of C# delegates
Delegates are widely used in C# (and .NET, in general), but it's not always obvious to the developer what code they write ends up generating. In this post, I'll show the various forms to make you aware of their costs.
Performance Improvements in .NET 6
.NET 6 is chock-full of exciting performance improvements.
.NET Core 2.1 container images will be deleted from Docker Hub
Starting on August 21st, .NET Core 2.1 Docker container images will no longer be available on Docker Hub, but exclusively on Microsoft Container Registry (MCR). Read on for more information.
Introducing DevOps-friendly EF Core Migration Bundles
EF Core's new migration bundles generate binary artifacts that you can use to deploy schema and data changes as part of your continuous delivery process.
Announcing .NET MAUI Preview 7
.NET MAUI Preview 7 is now available with new layouts, improved accessibility, font scaling, and more.
Preview Features in .NET 6 – Generic Math
If you’ve ever wanted to use operators with generic types or thought that interfaces could be improved by supporting the ability to define static methods as part of their contract, then this blog post is for you. With .NET 6 we will be shipping a preview of the new generic math and static abstracts in interfaces features.
String Interpolation in C# 10 and .NET 6
Text processing is at the heart of huge numbers of apps and services, and in .NET, that means lots and lots of . creation is so fundamental that a myriad of ways of creating them have existed since .NET Framework 1.0 was released, and more have joined the fray since. Whether via 's constructors, or , or overrides, or helper methods on like or or or , APIs to create strings are ubiquitous. One of the most powerful APIs for creating strings in .NET, however, is . The method has a multitude of overloads, all of which share in common the ability to supply a "composite format string" and associated arguments...
ASP.NET Core updates in .NET 6 Preview 7
.NET 6 Preview 7 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing .NET 6 Preview 7
.NET 6 Preview 7 is now available.
.NET August 2021 Updates – 5.0.9, 3.1.18, 2.1.30
Today, we are releasing the .NET August 2021 Updates. These updates contains reliability and other improvements. See the individual release notes for details on updated packages. You can download 5.0.9 , 3.1.18, 2.1.30 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Update: The .NET Core 2.1.29 August update did not include the correct fix for CVE-2021-34532. To resolve this, we are re-releasing the August security update for .NET Core 2.1 as 2.1.30. If you have installed .NET Core 2.1.29 previously you need to install the .NET Core 2.1.30 update in...
.NET Framework August 2021 Security and Quality Rollup
Today, we are releasing the August 2021 Security and Quality Rollup Updates for .NET Framework. Security This release does not contain any new security fixes. See February 2021 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 Windows Forms 1 Common Language Runtime (CLR) Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the ...
.NET Framework July 2021 Cumulative Update Preview
Today, we are releasing the July 2021 Cumulative Update Preview for .NET Framework. Security The July Cumulative Update Preview does not contain any new security fixes. See February 2021 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 Windows Forms 1 Common Language Runtime (CLR) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog....
Conversation about the .NET open source project
Conversation with .NET engineers about the .NET open source project, five+ years in.
Tune in July 29 for .NET Conf: Focus on F#
Save the date July 29 for .NET Conf: Focus on F#, a free, one-day livestream event that features speakers from the community and Microsoft teams working on and using the F# language.
Try the new System.Text.Json source generator
Learn about the new System.Text.Json source generator
Conversation about skills and learning
Conversation with .NET engineers about dev skills and learning. They share their perspectives on the skills and aptitudes needed to be successful on the team, and how important learning on the job is versus any specific skills that you walk in the door with. They also share the journeys they have taken on personal and career development.
.NET Framework July 2021 Security and Quality Rollup
Yesterday, we released the July 2021 Security and Quality Rollup Updates for .NET Framework. Security The June Security and Quality Rollup Update does not contain any new security fixes. See February 2021 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. ClickOnce CLR1 Windows Forms WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server...
ASP.NET Core updates in .NET 6 Preview 6
.NET 6 Preview 6 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing Entity Framework Core 6.0 Preview 6: Configure Conventions
Learn about configure conventions and other new features that are available in EF Core 6.0 Preview 6.
Announcing .NET 6 Preview 6
.NET 6 Preview 6 is now available.
Announcing .NET MAUI Preview 6
.NET MAUI Preview 6 is now available with workload installation, support for gesture recognizers, modals, alerts, and the latest release of Windows App SDK.
.NET July 2021 Updates – 5.0.8 and 3.1.17
Today, we are releasing the .NET July 2021 Updates. These updates contains reliability and other improvements. See the individual release notes for details on updated packages. You can download 5.0.8 , 3.1.17 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Improvements Windows Arm64 Windows Forms and WPF are now supported on Windows Arm64. We added support for Windows Arm64 with .NET 6 Preview 1 and have since backported it to .NET 5 (with 5.0.8). Windows Forms and WPF work the same on Arm64 a...
.NET Framework June 2021 Cumulative Update Preview
Earlier this week, we released the June 2021 Cumulative Update Preview for .NET Framework for Windows 10, version 2004, Windows Server 2004, Windows 10, version 20H2, Windows Server 20H2, and Windows 10, version 21H1. Quality and Reliability This release contains the following quality and reliability improvements. ClickOnce CLR1 Windows Forms WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You ca...
What’s new in Windows Forms in .NET 6.0 Preview 5
Read about the new features that are in Windows Forms in .NET 6.0 Preview 5.
Package Validation
Get started with Package Validation.
ML.NET June Updates
Check out what's new in ML.NET and Model Builder.
Announcing .NET MAUI Preview 5
.NET MAUI Preview 5 is now available. We have enabled animations and view transformations, completed the porting of several UI components, and introduced improvements to the single project templates.
Announcing Entity Framework Core 6.0 Preview 5: Compiled Models
Learn about blazing fast compiled models and other enhancements to EF Core 6.0 preview 5.
ASP.NET Core updates in .NET 6 Preview 5
.NET 6 Preview 5 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing .NET 6 Preview 5
.NET 6 Preview 5 is now available.
Conversation about networking
Another great conversation with .NET engineers, this time about networking in .NET. They share their perspective on network protocols, the differences and benefits between HTTP 1 through 3, the architecture of the .NET networking stack, and how YARP has been a great stress test for the architecture and performance.
.NET Framework June 2021 Cumulative Update Preview
Today, we are releasing the June 2021 Cumulative Update Preview for .NET Framework for Windows 10, version 1809, Windows Server 2019, and Windows 10, version 1909. Quality and Reliability This release contains the following quality and reliability improvements. ClickOnce CLR1 Windows Forms WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. **...
Migration of Bing’s Workflow Engine to .NET 5
Bing runs one of the world’s largest, most complex, highly performant, and reliable .NET applications. This posts discusses the journey and the work required to upgrade to .NET 5. This migration has been an unqualified success for our team. The overall picture is clear that .NET 5 is phenomenally superior.
Conversation about diagnostics
Conversation with .NET engineers about diagnostics, profiling and observability. They share their perspective on performance, observability in production, the architecture of new features, and recent enhancements that they expect will get the most attention.
Show dotnet: Running my .NET nanoFramework for 8 years on a battery
.NET nanoFramework works directly on microprocessors like ESP32, STM32. It can deep sleep and have a very low battery consumption. I'll show you how to make it real.
ML.NET Survey: Model Explainability
Take the ML.NET Model Explainability survey to let us know what you want to see in ML.NET for explainability and fairness.
.NET Framework June 2021 Security and Quality Rollup Updates
Today, we are releasing the June 2021 Security and Quality Rollup Updates for .NET Framework. Security The June Security and Quality Rollup Update does not contain any new security fixes. See February 2021 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 NCL2 WPF3 1 Common Language Runtime (CLR) 2 Network Class Library (NCL) 3 Windows Presentation Foundation (WPF) Getting the Update The Security and Quality Rollup is available via Windows Update, Wi...
.NET June 2021 Updates – 5.0.7 and 3.1.16
Today, we are releasing the .NET June 2021 Updates. These updates contains reliability and security improvements. See the individual release notes for details on updated packages. You can download 5.0.7 , 3.1.16 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Security CVE-2021-31957: ASP.NET Denial of Service Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 5.0 and .NET Core 3.1. This advisory also provides guidance on what developers can do to update their applications to remove th...
Conversation about containers
Conversation with .NET engineers who make .NET work great with containers. They share their perspective on OOMKill, performance, secure publishing, orchestrators, and why containers have become so popular.
Date, Time, and Time Zone Enhancements in .NET 6
.NET 6 Preview 4 introduces DateOnly and TimeOnly structs and improves time zone support.
Conversation about the .NET type system
Conversation with .NET engineers about the .NET type system. They share their perspective on value types vs structs, the murky boundary between C# and the CLR, upcoming type system enhancements, and also compare .NET and Java type systems.
IntelliCode Package Suggestions for NuGet in Visual Studio
Building on Visual Studio’s robust IntelliCode experience for .NET, we’re excited to introduce NuGet IntelliCode Package Suggestions in Visual Studio 16.10! IntelliCode Package Suggestions use your project’s context, such as installed packages and project type, to suggest packages to enhance your workflow! IntelliCode AI-assistance has become an integral part of the Visual Studio development experience, using machine learning to offer developers intelligent code completion, argument completion, refactoring suggestions, and now even package suggestions! To date, IntelliCode features have saved developers countles...
Announcing Visual Studio Code extension for Tye
Announcing the availability of Visual Studio Extension for Tye
Conversation about .NET interop
Conversation with .NET engineers about native, language, and operating system interop. They share their perspectives on modern programming languages, low-level concepts like calling conventions and marshaling, performance, comparing .NET and Java Interop, and a new project that adds support for Interop with Objective-C.
Building Contextual Experiences w/ Blazor
Hi there! My name is Hassan Habib, I'm a Sr. Engineering Manager @ Microsoft. This is my very first blog post on the ASP.NET team blog. You may know me from my OData posts. Few weeks ago I reached out to Daniel Roth wondering if it would be a good idea to share how Microsoft engineers use Microsoft products to build our own systems. It's a little something we call "Run Microsoft on Microsoft" - Daniel was very supportive and we worked together to make it possible, and for that I'm very grateful. As I continue to work with internal teams inside Microsoft to develop end-to-end enterprise solutions, my experience...
F# and F# tools update for Visual Studio 16.10
Visual Studio 16.10 comes with more updates to the F
.NET Framework May 2021 Cumulative Update Preview for Windows 10, versions 2004, 20H2, 21H1
Today, we are releasing the May 2021 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 NCL2 WPF3 1 Common Language Runtime (CLR) 2 Network Class Library (NCL) 3 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. Customers that rely on Windows Update will automatically receive the .NET Fra...
Announcing Entity Framework Core 6.0 Preview 4: Performance Edition
Learn about some serious optimizations that have gone into Entity Framework Core 6.0, and how much faster it now performs.
ASP.NET Core updates in .NET 6 Preview 4
.NET 6 Preview 4 is now available! Check out all the improvements in ASP.NET Core in this update.
Introducing the .NET Hot Reload experience for editing code at runtime
Introducing the new .NET Hot Reload user experience for editing managed code at runtime, now available through the Visual Studio 2019 debugger and dotnet watch.
Announcing .NET MAUI Preview 4
Today we are pleased to announce the availability of .NET Multi-platform App UI (.NET MAUI) Preview 4. Each preview introduces more controls and features to this multi-platform toolkit on our way to general availability this November at .NET Conf. .NET MAUI now has enough building blocks to build functional applications for all supported platforms, new capabilities to support running Blazor on the desktop, and exciting progress in Visual Studio to support .NET MAUI. Weather '21 To showcase our progress in Preview 4 for Microsoft Build, we rapidly designed and developed a simple yet beautiful weather app. As...
Announcing .NET 6 Preview 4
.NET 6 Preview 4 is now available.
Show dotnet: Investigating Alpine Linux CVEs in .NET container images
The results of a Alpine Linux CVE investigation and new guidance on using .NET images.
.NET Framework May 2021 Cumulative Update Preview
Today, we are releasing the May 2021 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 NCL2 WPF3 1 Common Language Runtime (CLR) 2 Network Class Library (NCL) 3 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. Customers that rely on Windows Update will automatically receive the .NET Fra...
Conversation about ready to run
Conversation with .NET engineers about the ready to run executable format. They share their perspective on the origins of ready to run, the strengths and weaknesses of the format, and comparing it to both IL and Native AOT.
Conversation about PGO
Conversation with .NET engineers about profile guided optimization (PGO). They share their perspectives on how PGO works, how it improves even sophisticated compilers, other platforms that have good PGO systems, and what .NET is doing to provide better performance with PGO.
.NET Framework May 2021 Security and Quality Rollup Updates
Yesterday, we released the May 2021 Security and Quality Rollup Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 Windows Forms WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are...
.NET May 2021 Updates – 5.0.6, 3.1.15, 2.1.28
Today, we are releasing the .NET May 2021 Updates. These updates contains reliability and security improvements. See the individual release notes for details on updated packages. You can download 5.0.6 , 3.1.15, 2.1.28 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Security CVE-2021-31204: .NET Core Elevation of Privilege Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 5.0 and .NET Core 3.1. This advisory also provides guidance on what developers can do to update their applicati...
Put a DPAD on that GC!
Say what? Yes, there's a new feature called DPAD for regions - regions is what we are currently working on in .NET 6 to convert segments to. In this blog post I will first give some introduction to regions then talk about the DPAD feature. Note that it's unlikely we will officially support regions by the end of 6.0 as there's a lot of work involved - our current plan is to ship it in clrgc.dll as an experimental feature that you can turn on with a config. In fact, this is the way I want to ship large GC features from now on - we ship them first with the standalone GC (ie, in clrgc.dll) so folks ...
ASP.NET Core 6 and Authentication Servers
In .NET 3.0 we began shipping IdentityServer4 as part of our template to support the issuing of JWT tokens for SPA and Blazor applications. Sometime after we shipped, the IdentityServer team made an announcement changing the license for future versions of IdentityServer to a reciprocal public license - a license where the code is still open source but if used for commercial purposes then a paid license must be bought. This type of approach is common in the open-source world, where sustaining an income is difficult as your project becomes your full-time work. Two of the reasons behind the choice to ship Identit...
Add a README to Your NuGet Package
Today, we're excited to announce that you can pack a `README.md` file in your NuGet package and have it fully rendered on NuGet.org!
.NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022
.NET Framework 4.5.2, 4.6, 4.6.1 will reach End of Support on April 26, 2022. You may need to take action to update your .NET Framework runtime to a supported version of .NET Framework.
Conversation about crossgen2
Conversation with .NET engineers about crossgen2. They share their perspective on what Crossgen is for, what's new with Crossgen v2, its similarities to the Roslyn project, and all the new performance features it enables.
What’s new in dotnet monitor
Learn about what's new in dotnet monitor
Show dotnet: Build your own unit test platform? The true story of .NET nanoFramework.
.NET nanoFramework works directly on microprocessors like ESP32, STM32. It needed a proper unit testing platform. I'll explain you how it's been built.
.NET April 2021 Updates – .NET Core 3.1.14 and .NET Core 2.1.27
Today, we are releasing .NET Core 3.1.14 and .NET Core 2.1.27 April updates. These updates contains reliability and other non-security improvements. See our April blog post for details on all April servicing releases.
Show dotnet: Animating 40 LEDs with charlieplexing
Charlieplexing is a fun way to animate LEDs. I'll show you how I'm controlling 40 LEDs with 7 GPIO pins.
Announcing .NET Multi-platform App UI Preview 3
.NET Multi-platform App UI updates in .NET 6 Preview 3
ASP.NET Core updates in .NET 6 Preview 3
.NET 6 Preview 3 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing .NET 6 Preview 3
.NET 6 Preview 3 is now available.
ML.NET Survey: Machine Learning in .NET
Take the ML.NET survey to let us know what you want to see next for Machine Learning in .NET.
Your Top .NET Microservices Questions Answered
We got some great questions during our recent Let's Learn .NET: Microservices event. In this post, Nish Anil answers your top five questions, with links to docs and resources where you can learn more.
.NET April 2021 Updates – .NET 5.0.5, .NET Core 3.1.14, .NET Core 2.1.27
Today, we are releasing the .NET April 2021 Updates. These updates contains reliability and other non-security improvements. See the individual release notes for details on updated packages. You can download 5.0.5 | 3.1.14 | 2.1.27 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Improvements .NET 5 NuGet Restore Failures on Linux distributions using NSS or ca-certificates .NET SDK 5.0.202 resolves an issue where NuGet restore fails on Linux due to expired NuGet certificates and unfortunate interactions with changes made to...
.NET 5 NuGet Restore Failures on Linux distributions using NSS or ca-certificates
We will be releasing updated builds of NuGet this week to accommodate NuGet restore failures on Linux distributions. The failures are observed when updated versions of the NSS or ca-certificates packages are installed.
Announcing Open Source C# standardization
The C# standards committee moved its work into Open Source. ECMA worked with the .NET Foundation, enabling C# developers worldwide to participate in the standardization effort. Visit the C# standards repo for more information.
Monitoring and Observability in Cloud-Native ASP.NET Core apps
Distributed applications are complex and bring in their own set of challenges for developers to debug and fix production issues. ASP.NET Core offers a number of solutions to add monitoring and observability to your cloud-native applications.
Loop alignment in .NET 6
Loop alignment improvements in .NET 6
Cloud-Native learning resources for .NET developers
The .NET team has put together a collection of free resources to help you speed up your cloud-native application development journey.
OpenTelemetry .NET reaches v1.0
Learn how to get started with OpenTelemetry .NET
Performance and Polish with NuGet 5.9
NuGet 5.9 is a great release that brings a refined experience to everything package management. We’ve added a bunch of exciting quality of life improvements while also bringing you a more performant package management experience. We’re excited to see you use NuGet 5.9 & include it in your toolset to build amazing things with .NET.
The path to .NET 5 and Blazor WebAssembly with some fun sprinkled in
Rock, Paper, Scissors, Lizard, Spock was recently upgraded to .NET 5 and uses Blazor WebAssembly. Here is a summary of our experience completing the upgrade.
ML.NET and Model Builder March Updates
This release of ML.NET and Model Builder brings numerous bug fixes and enhancements as well as new features, including config-based training and a redesigned Consume step.
Investigating a Linux CVE with .NET Images
We regularly help .NET developers manage Linux CVEs. This post is an example of how we helped a customer with CVE-2021-23840 and CVE-2021-23841.
ASP.NET Core updates in .NET 6 Preview 2
.NET 6 Preview 2 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing Entity Framework Core 6.0 Preview 2
Announcing the release of EF Core 6.0 Preview 2, the second preview of the new Entity Framework Core.
Announcing .NET 6 Preview 2
.NET 6 Preview 2 is now available.
Blinking LEDs with Raspberry Pi
You can blink lots of LEDs with the Raspberry Pi, with a new set of LED blinking APIs.
.NET March 2021 Updates – 5.0.4, 3.1.13, 2.1.26
Today, we are releasing the .NET March 2021 Updates. These updates contains reliability and security improvements. See the individual release notes for details on updated packages. You can download 5.0.4 , 3.1.13, 2.1.26 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Security CVE-2021-26701: .NET Core Remote Code Execution Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 5.0, .NET Core 3.1, and .NET Core 2.1. This advisory also provides guidance on what developers can do to update ...
.NET Core 2.1 will reach End of Support on August 21, 2021
.NET Core 2.1 will be reaching end of support on August 21, 2021. You need to take action to update your app to a supported version of .NET Core.
Learn to build HTTP APIs with .NET
ASP.NET makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. Whether you're new to .NET or an old pro, we've got a lot of fresh videos, tutorial, and documentation to help you learn how to build great HTTP APIs.
.NET Interactive with SQL!| .NET Notebooks in Visual Studio Code
Read all about how SQL and Entity Framework Core developers can now start using .NET Interactive notebooks for quick iteration of notebooks while providing strongly typed APIs, code completion over tables and columns, and Language-Integrated-Query (LINQ). Quickly explore your data's shape and schema.
F# and F# tools update for Visual Studio 16.9
Visual Studio 16.9 comes with significant updates to the F
How to Scan NuGet Packages for Security Vulnerabilities
Today, we are announcing the public availability of NuGet’s vulnerability features that you can use to ensure your projects are vulnerability free and if not, to take action to securing your software supply chain.
IntelliSense for appsettings.json
Visual Studio and Visual Studio Code now support IntelliSense for `appsettings.json`. IntelliSense allows you to quickly edit your app's configuration and get immediate feedback on available properties or typos.
Introducing the .NET Upgrade Assistant Preview
Move your .NET Framework applications to .NET 5 at your own pace with confidence.
State of the NuGet Ecosystem
Recently, our team launched our first quarterly user survey for NuGet.org. With over 500 responses, we wanted to spend some time to share with you what we've learned in these last few months.
Serve ML.NET Models as HTTP APIs with minimal configuration
Learn how to serve machine learning models from HTTP APIs using minimal configuration
Internals of the POH
As folks are aware we added a new kind of heap in .NET 5 called the POH (Pinned Object Heap). Since this is a user facing feature (and there aren't that many of those in GC) I've been meaning to write about it but didn't get around till now. In this blog entry I'll explain the internals of it, partly because if you understand them it'll make it easier to reason about scenarios that I don't already cover; partly just because I know people who read my blog tend to want the internals 😃Why POH?First of all, why did we add this POH and why did we only add it in .NET 5? Pinning was (and still is...
The NuGet.org repository signing certificate will be updated as soon as March 15th, 2021
The current NuGet.org repository signing certificate will be updated as soon as March 15th, 2021. If you validate that packages are repository signed by NuGet.org, you will need to take steps to avoid disruptions when installing packages from NuGet.org.
App Building with Azure API Management, Functions, Power Apps, and Logic Apps
This month's series on building and integrating your HTTP APIs using Web API and lots of other goodies together comes to a close with this post, which will show you some exciting ways your Web API projects and Azure Functions can be integrated in new and exciting ways when you describe them with OpenAPI. In case you haven't seen the previous posts leading up to this, here's the list of articles in the Month'o'API series: The previous posts went deep into how your .NET code could be used to build HTTP APIs and describe their various operations using OpenAPI. Now that we've build a well documen...
.NET Framework February 2021 Cumulative Update Preview for Windows 10 2004, Windows Server, version 2004, Windows 10, version 20H2 and Windows Server, version 20H2
Today, we are releasing the February 2021 Cumulative Update Preview for .NET Framework for Windows 10 2004, Windows Server, version 2004, Windows 10, version 20H2 and Windows Server, version 20H2. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WPF2 Winforms 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Known issues in this update Microsoft is not currently aware of any issues in this update. Getting the Update The Security and Quality Rollup is available via Windows Update, Windows ...
Generating HTTP API clients using Visual Studio Connected Services
We’re continuing our series on building HTTP APIs with .NET 5. In this post, the third in the series, we’ll talk about how Visual Studio Connected Services gives you a convenient way of generating .NET clients for your HTTP APIs so your .NET apps can use the APIs via the Internet.
Survey: Library & Open Source
Are you an open source maintainer, contributor or consumer? Please help us to identify pain points and concerns so we can make your experience better!
Tune in for .NET Conf: Focus on Windows, February 25th
Save the date February 25th and tune in for a special .NET Conf live stream all about native Windows apps. Learn how to modernize your Windows apps and move them forward.
Announcing Entity Framework Core 6.0 Preview 1
Announcing the release of EF Core 6.0 Preview 1, the first preview of the new Entity Framework Core.
ASP.NET Core updates in .NET 6 Preview 1
.NET 6 Preview 1 is now available and ready for evaluation. This is the first preview of .NET 6, the next major update to the .NET platform. .NET 6 is expected to ship in November of this year, and will be a Long Term Support (LTS) release. If you're on Windows using Visual Studio, we recommend installing the latest preview of Visual Studio 2019 16.9. If you're on macOS, we recommend installing the latest preview of Visual Studio 2019 for Mac 8.9. Major work planned in ASP.NET Core in .NET 6 .NET 6 is using an open planning process, so you can see all of the major themes planned for this release on the Blazor-...
Announcing .NET 6 Preview 1
.NET 6 Preview 1 is now available and is the start of the next major .NET release, focused on .NET unification and supporting new platforms.
.NET Framework February 2021 Cumulative Update Preview for .NET Framework.
Yesterday, we released the February 2021 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WPF2 Winforms 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Known issues in this update Microsoft is not currently aware of any issues in this update. Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. Custom...
Open-source HTTP API packages and tools
This post covers a variety of things any .NET developer who plans on building HTTP APIs will want in their toolchain or dependency list. We'll show you some new and exciting frameworks coming up that are built atop ASP.NET Core web API and hopefully make the craft of building and testing HTTP APIs with .NET easier. There are so many opport
Staying safe with .NET containers
An update on using .NET and containers together -- how to stay safe and keep your container images up-to-date.
.NET Framework February Security and Quality Rollup
Revised 6/8/2021: On June 8th, 2021, this update was released to replace a previous update to address a “revocation server was offline” error that may occur during installation. If you've already installed a previous release of this update, no action is required. Revised 4/15/2021: On April 13th, 2021, this update was released to replace a previous release of this some updates. See known issues section for more details. If you've already installed a previous release of an affected update, no action is required. Today, we are releasing the February 2021 Security and Quality Rollup Updates for .NET Framework....
.NET February 2021 Updates – 5.0.3, 3.1.12, 2.1.25
Today, we are releasing the .NET February 2021 Updates. These updates contains reliability and security improvements. See the individual release notes for details on updated packages. You can download 5.0.3 , 3.1.12, 2.1.25 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Security CVE-2021-1721: .NET Core Denial of Service Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in .NET 5, .NET Core 3.1, and .NET Core 2.1. This advisory also provides guidance on what developers can do to update their...
Creating Discoverable HTTP APIs with ASP.NET Core 5 Web API
This month, we'll be focusing on building HTTP APIs with .NET 5. We'll explore a myriad of different tools, technologies, and services that make your API development experience more delightful. Each week, we'll release a new post on this blog that goes into a separate area of building HTTP APIs with .NET, focusing mostly on using ASP.NET Core 5 Web API and the OpenAPI Specification together to build, publish, consume, and re-use well-described HTTP APIs. Here's a glance at the upcoming series on building HTTP APIs using .NET on the ASP.NET team blog: Whether APIs are your product, or they're a fa...
Using C# Source Generators to create an external DSL
This post looks at creating an external DSL to represent mathematical expressions using C
Improvements to the new Razor editor in Visual Studio
Learn all about the latest improvements to the new Razor editor in Visual Studio.
The Plan for Entity Framework Core 6.0
This blog post details the roadmap for Entity Framework Core 6.0.
Azure Active Directory’s gateway is on .NET Core 3.1!
Read about Azure Active Directory gateway service's move from .NET Framework to .NET Core.
Happy 10th Birthday, NuGet!
NuGet 1.0 was released on January 13th, 2011 – 10 years and 4 major version releases ago. Since then, NuGet.org has grown to host a large and vibrant package ecosystem with over 230 thousand unique packages.
Diagnostics improvements in .NET 5
Diagnostics improvements in .NET 5
.NET January 2021 Updates – 5.0.2, 3.1.11, 2.1.24
Today, we are releasing the .NET January 2021 Updates. These updates contains reliability and security improvements. See the individual release notes for details on updated packages. You can download 5.0.2 , 3.1.11, 2.1.24 versions for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Security CVE-2021-1723: ASP.NET Core Denial of Service Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in ASP.NET Core and ASP.NET 5. This advisory also provides guidance on what developers can do to update their applications to...
.NET Framework January Security and Quality Rollup Update
Today, we are releasing the January 2021 Security and Quality Rollup Updates for .NET Framework. Security The January Security and Quality Rollup Update does not contain any new security fixes. See October 2020 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catal...
Migrating RealProxy Usage to DispatchProxy
The RealProxy type is not available in .NET Core or .NET 5, but other replacement types have been added. This post looks at how DispatchProxy and Castle.Core's DynamicProxy enable AOP paradigms in .NET 5.
.NET 5 Networking Improvements
Introducing new networking features in .NET 5.
WSFederationHttpBinding in .NET Standard
The new `System.ServiceModel.Federation` package adds support for `WSFederationHttpBinding` and `WS2007FederationHttpBinding` which enable WS-Federation authentication scenarios. In this post, I'll show you you the basics of getting started with these client-side bindings in your .NET Core applications and .NET Standard libraries.
What’s next for System.Text.Json?
What's next for System.Text.Json?
Localize .NET applications with machine-translation
A GitHub Action harnessing Azure Cognitive Services Translator to automatically create translation files.
[Guest Post] Creating a game art asset pipeline in .NET
Check out how a game studio used .NET to create a game art asset pipeline.
What’s new in Windows Forms runtime in .NET 5.0
Checkout all the exciting things happened in the Windows Forms land.
Producing Packages with Source Link
Learn how to add Source Link to your packages, to make your users more productive while debugging.
.NET December 2020 Updates – 5.0.1
Today, we are releasing the .NET December 2020 Update. These updates contains reliability and other non-security improvements. See the individual release notes for details on updated packages. Also starting today, .NET Core updates will be delivered via Microsoft Update including Windows Server Update Services (WSUS) and the Microsoft Update Catalog. See our previous post on about .NET Core updates coming to Microsoft Update for more information about this. You can download .NET 5.0.1, for Windows, macOS, and Linux, for x86, x64, Arm32, and Arm64. Improvements ...
Infer#: Interprocedural Memory Safety Analysis For C#
We are excited to announce the public release of Infer#, which brings the interprocedural static analysis capabilities of Infer to the .NET community.
[Guest Post] Bring lights in Unity into the real-world using Philips Hue
Bring lights in Unity into the real world using Philips Hue.
.NET Core 2.1, 3.1, and .NET 5.0 updates are coming to Microsoft Update
12/09/2020: this post was updated to clarify that Client operating systems will get .NET Core updates via Automatic Updates, while Server operating systems will get .NET Core updates via WSUS and MU Catalog. 12/14/2021: this post was updated to reflect Hosting Bundle updates are also available on Microsoft Update now. Starting in December 2020, we will be delivering .NET Core updates on Windows via Microsoft Update. We have received many requests for this, particularly from organizations that acquire and manage all of their Microsoft-related updates via Microsoft (or Windows) Update. This change will enable...
Custom V2 OData queries will be deprecated March 9, 2021
We announced the deprecation of custom V2 OData queries (#37) last year and conducted a dry run in early November to ensure that there are no surprises for users. Going forward, we plan to bring all new features and improvements only to the newer V3 APIs. As part of this strategy, we will begin blocking select endpoints used by 3rd party clients on March 9th, 2021. Based on server-side telemetry, less than 2% of OData traffic on nuget.org will be blocked by this deprecation effort. By inspecting user agent strings provided in requests to NuGet.org, our team identified and worked with affected 3rd party client im...
Improving Debug-time Productivity with Source Link
Improve your debug-time productivity by using Source Link to step into framework and dependency code.
.NET Framework November 2020 Cumulative Update Preview for Windows 10 2004 and Windows Server, version 2004
Yesterday, we are releasing the November 2020 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update and Microsoft Update Catalog. **Note**: Customers t...
ML.NET Model Builder November Updates
This release of ML.NET Model Builder brings numerous bug fixes and enhancements as well as new features, including advanced data loading options and streaming training data from SQL.
[Guest Post] Introducing WaveEngine 3.1 based on .NET 5
Start creating multi-platform 3D apps based on .NET 5 today.
The updated GetGCMemoryInfo API in .NET 5.0 and how it can help you
things library folks wanted at the time. In 5.0 I got requests from folks to monitor more things about the GC. Instead of adding a bit of info each time someone asks, I really thought about the kinds of things that would help with monitoring and diagnostics and expanded the info provided by this API significantly. It also has a new overload, documented here. The returned struct has many more properties.the API proposal and with help from other people on my team I think I landed at an API that I'm quite happy about. Big kudos to Noah for suggesting to take the kind of GC as a parameter which makes it still ve...
Announcing Microsoft Q&A for .NET
Introducing the brand new Microsoft Q&A for .NET, your one stop for getting your techinical questions answered by experts from Microsoft and the .NET community.
Everything from .NET Conf 2020: Sessions, Demos, & More!
Get all the sessions and demos from .NET Conf 2020! 80+ live sessions were syndicated on www.dotnetconf.net, Microsoft Learn TV, .NET YouTube channel, and the Visual Studio Twitch channel. Watch the sessions on demand on the .NET YouTube Channel or Channel 9. Attend a virtual event in your own time zone and language!
Visual Basic WinForms Apps in .NET 5 and Visual Studio 16.8
Visual Studio 16.8 and .NET 5.0 for the first time fully support Windows Forms Designer and the VB Application Framework.
Announcing General Availability for Microsoft Edge WebView2 for .NET and Fixed Distribution Method
Today, we are excited to announce that Microsoft Edge WebView2 is now generally available for use in production .NET 5, .NET Core, and .NET Framework Windows Forms and WPF applications on existing Windows versions! Additionally, we are thrilled to announce that WebView2’s Fixed Version Distribution mode is also generally available for production applications. Previously, at Build, we introduced the .NET preview of WebView2, Microsoft’s latest browser control built on the new Chromium-based Microsoft Edge that renders web content (HTML / CSS / JavaScript) in .NET applications. In October, we announced that WebV...
.NET Framework November 2020 Cumulative Update Preview
Today, we are releasing the November 2020 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update and Microsoft Update Catalog. **Note**: Customers that r...
What’s new in .NET Productivity
Learn about the latest .NET Productivity features!
Getting Started With NuGet 5.8
NuGet 5.8 is one of many releases in our .NET unification journey. Our NuGet tooling helps developers discover new .NET packages to use for their .NET applications, while making package management easier during your daily development.
.NET Framework November 2020 Security and Quality Rollup Updates
Revised 1/15/2021: On Jan 12, 2020, a live revision was made to these updates to remove its supersedence relationship with the October 13, 2020, .NET Framework security updates. If you have already installed this update, the October 13 .NET Framework updates, or any later .NET Framework updates, you do not have to take any action to be up-to-date for the latest .NET Framework security updates. See the “Update replacement information” section in this article for more information for WSUS administrators. WSUS administrators who cannot install the October Security and Quality Rollup and have to reinstate the Oct...
C# 9.0 on the record
C# 9.0 on the record It's official: C# 9.0 is out! Back in May I blogged about the C# 9.0 plans, and the following is an updated version of that post to match what we actually ended up shipping. With every new version of C# we strive for greater clarity and simplicity in common coding scenarios, and C# 9.0 is no exception. One particular focus this time is supporting terse and immutable representation of data shapes. Init-only properties Object initializers are pretty awesome. They give the client of a type a very flexible and readable format for creating an object, and they are especially great for nested ...
Announcing F# 5
F# 5 is the latest version of F#, the functional programming language for .NET. F# 5 is focused on making interactive and analytical programming a joy by revamping F# Interactive and adding support for Jupyter Notebooks and VSCode Notebooks. It also includes some highly-requested language features like string interpolations and nameof.
Announcing .NET 5.0
.NET 5.0 includes many enhancements, including single file applications, more capable JSON APIs, new versions of C
.NET Core November 2020 Updates – 3.1.10
Today, we are releasing the .NET Core November 2020 Update. These updates contains reliability and other non-security fixes. See the individual release notes for details on updated packages. Getting the Update See the .NET Core release notes for details on the release, including issues fixed and affected packages. The latest .NET Core updates are available on the .NET Core download page. Docker Images .NET Docker images have been updated for today’s release. The following repos have been updated. Note: You must pull updated .NET Core container images to get thi...
Announcing the Release of EF Core 5.0
Announcing the release of EF Core 5.0, a full featured cross-platform version of Entity Framework that delivers the most requested features like Many-to-Many and Table-Per-Type.
Announcing ASP.NET Core in .NET 5
.NET 5 is now released! Check out all of the great new features and improvements in ASP.NET Core in .NET 5.
.NET 5.0 Launches at .NET Conf, November 10-12
Save the date for .NET Conf, live streaming to a device near you November 10-12 on www.dotnetconf.net. .NET Conf is a free, three-day, virtual developer event co-organized by the .NET community and Microsoft. This year .NET 5.0 will launch at .NET Conf 2020. Come celebrate and learn about the new release.
Unified Blazor UI in the Mobile Blazor Bindings Preview 5
Build one UI for your web app and hybrid mobile app with Mobile Blazor Bindings Preview 5. Share your UI code and logic across all platforms!
.NET Framework October 2020 Cumulative Update Preview for Windows 10 2004 and Windows Server, version 2004
Yesterday, we released the October 2020 Cumulative Update Preview for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. SQL WPF1 1 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update and Microsoft Update Catalog. Updates for other versions of .NET Framework are part of the...
gRPC performance improvements in .NET 5
gRPC and .NET are fast. Explore the many performance improvements in gRPC and .NET 5.
Help Us Plan EF Core 6.0
Help shape the future of how .NET developers interact with data by sharing your feedback about Entity Framework.
Announcing Version 1.0 of .NET for Apache Spark
Announcing the release of version 1.0 of .NET for Apache® Spark™, an open source package that brings .NET development to the Apache® Spark™ platform.
The Microsoft author signing certificate will be updated as soon as November 1st, 2020
The current Microsoft author signing certificate will be updated as soon as November 1st, 2020. If you validate that packages are author signed by Microsoft, you will need to take steps to avoid disruptions when installing Microsoft packages.
.NET Framework October 2020 Cumulative Update Preview Update
Yesterday, we are releasing the October 2020 Cumulative Update Preview Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. SQL WPF1 1 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update and Microsoft Update Catalog. Updates for other versions of .NET Framework ar...
Choose a .NET Game Engine
Learn what game engines are, and choose which .NET game engine is best for you.
Introducing .NET Live TV – Daily Developer Live Streams
Introducing .NET Live TV, your one stop shop for all .NET and Visual Studio developer live streams across Twitch and YouTube.
.NET Framework republishing of July 2020 Security Only Updates
Today, we are republishing the July 2020 Security Only Updates for .NET Framework to resolve a known issue that affected the original release. You should install this version (V2) of the update as part of your normal security routine. Security CVE-2020-1147– .NET Framework Remote Code Execution Vulnerability A remote code execution vulnerability exists in .NET Framework when the software fails to check the source markup of XML file input. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the process responsible for deserialization of the XML content. To exploi...
.NET Framework October 2020 Security and Quality Rollup Updates
Revised 6/8/2021: On June 8th, 2021, this update was released to replace a previous update to address a “revocation server was offline” error that may occur during installation. If you've already installed a previous release of this update, no action is required. Revised 4/15/2021: On April 13th, 2021, this update was released to replace a previous release of this some updates. See known issues section for more details. If you've already installed a previous release of an affected update, no action is required. Revised 1/15/2021: Added known issues details for ASP.Net applications may not deliver cookieless...
ASP.NET Core updates in .NET 5 Release Candidate 2
.NET 5 Release Candidate 2 is now available! Check out all the improvements in ASP.NET Core in this update.
.NET Core October 2020 Updates – 2.1.23 and 3.1.9
Today, we are releasing the .NET Core October 2020 Update. These updates contains reliability and other non-security fixes. See the individual release notes for details on updated packages. Getting the Update See the .NET Core release notes for details on the release, including issues fixed and affected packages. The latest .NET Core updates are available on the .NET Core download page. Lifecycle Updates Ubuntu 20.10 and Fedora 33 have been added as a supported OS with this update of .NET Core. Docker Images .NET Docker images have been updated for today’s release. The ...
Announcing Entity Framework Core (EF Core) 5 RC2
Entity Framework Core EF Core 5.0 gets closer to a final release. RC2 is now available with bug fixes and a go-live license.
Announcing .NET 5.0 RC 2
Today, we are shipping .NET 5.0 Release Candidate 2 (RC2). It is a near-final release of .NET 5.0, and the last of two RCs before the official release in November. RC2 is a "go live" release; you are supported using it in production. At this point, we're looking for reports of any remaining critical bugs that should be fixed before the final release. We also released new versions of ASP.NET Core and EF Core today. You can download .NET 5.0, for Windows, macOS, and Linux: You need the latest preview version of Visual Studio (including Visual Studio for Mac) to use .NET 5.0. .N...
MLOps: DevOps for Machine Learning
Machine Learning Operations (MLOps) is like DevOps for the machine learning lifecycle. This includes things like model deployment & management and data tracking, which help with productionizing machine learning models. Through the survey below, we'd love to get feedback on your current DevOps practices as well as your prospective usage of MLOps in .NET. We'll use your feedback to drive the direction of MLOps support in .NET. Take the survey
Game Development with .NET
Did you want to develop games using .NET? Learn what .NET game engines, tools, and services are available for you when developing games.
.NET Framework October 1, 2020 Cumulative Update Preview Update for Windows 10, version 2004 and Windows Server, version 2004
Revised 1/15/2021: Added known issues details for ASP.Net applications may not deliver cookieless tokens in the URI Today, we are releasing the September 2020 Cumulative Update Preview Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET CLR1 SQL WCF2 Windows Forms 1 Common Language Runtime (CLR) 2 Windows Communication Foundation (WCF) Known issues in this security update ASP.Net applications fail during precompilation with error message Symptoms ...
.NET Interactive Preview 3: VS Code Insiders and .NET Polyglot Notebooks
With .NET Interactive Preview 3, we've added a VS Code Insiders experience and a number of new features to our existing .NET notebooks support for Jupyter.
Repo experience survey results
A couple of months ago we ran a survey of our github community to understand our users satisfaction and experience with the mechanics of how the projects are open-sourced with the community. This post shares the results.
ML.NET September Updates
This release of ML.NET (1.5.2) brings numerous bug fixes and enhancements, while tooling updates include the ability to train object detection models using Azure ML via Model Builder and to locally train image classification models with the ML.NET CLI.
NET Core Releases and Support
7/15/2021: this post was revised to update the support period for "Current" releases from 15 months to 18 months, or 6 months after the next release ships. While we've covered .NET Core releases, cadence and support policies in previous blog posts, the information has been distributed across a couple of individual posts. With the .NET 5 release just around the corner, we thought this is a good time to bring all the information together into a single post as a refresher on these topics. As we've covered previous posts, .NET Core releases have a very different model relative to .NET Framework so if ...
Using GitHub Codespaces with .NET Core
We've updated our support for developing .NET Core applications in GitHub Codespaces using Visual Studio. Read about the added support we have for editors, testing, debugging, and Azure. Sign up to be invited to the preview for GitHub Codespaces and Visual Studio support!
Azure Static Web Apps with .NET and Blazor
Azure Static Web Apps now has first-class support for Blazor WebAssembly and .NET Functions in preview, available in all supported regions. Check out how you can develop and deploy a frontend and a serverless API written entirely in .NET.
Debug Your .NET Core Apps in WSL 2 with Visual Studio
The .NET Core Debugging with WSL 2 – Preview extension lets run and debug your .NET Core apps in WSL 2 from Visual Studio.
.NET Framework September 2020 Cumulative Update Preview Update
The September 16, 2020 update includes cumulative reliability improvements in .NET Framework 3.5, 4.7.2 and 4.8. We recommend that you apply this update as part of your regular maintenance routines.
The future of .NET Standard
Since .NET 5 was announced, many of you have asked what this means for .NET Standard and whether it will still be relevant. In this post, I'm going to explain how .NET 5 improves code sharing and replaces .NET Standard. I'll also cover the cases where you still need .NET Standard.
Announcing Entity Framework Core (EFCore) 5.0 RC1
Announcing Entity Framework EFCore 5.0 RC1, a "go-live" supported release. This release includes new features like many-to-many, property bags, event counters, required 1:1 dependents and the ability to intercept SaveChanges and listen to save events. It also includes improvements to model-building, migrations, and more.
ASP.NET Core updates in .NET 5 Release Candidate 1
.NET 5 Release Candidate 1 is now available! Check out all the improvements in ASP.NET Core in this update.
Announcing .NET 5.0 RC 1
Today, we are shipping .NET 5.0 Release Candidate 1 (RC1). It is a near-final release of .NET 5.0, and the first of two RCs before the official release in November. RC1 is a "go live" release; you are supported using it in production. At this point, we're looking for reports of any remaining critical bugs that should be fixed before the final release. We need your feedback to get .NET 5.0 across the finish line. We also released RC1 versions of ASP.NET Core and EF Core today. You can download .NET 5.0, for Windows, macOS, and Linux: You need the latest preview version of Visual ...
.NET Core September 2020 Updates – 2.1.22 and 3.1.8
Today, we are releasing the .NET Core September 2020 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. Security CVE-2020-1045: ASP.NET Core Security Feature Bypass Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in ASP.NET Core. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability. A security feature bypass vulnerability exists in the way Microsoft ASP.NET Core parses encoded cookie names. The A...
.NET Framework September 2020 Security and Quality Rollup Updates
Revised 6/8/2021: On June 8th, 2021, this update was released to replace a previous update to address a “revocation server was offline” error that may occur during installation. If you've already installed a previous release of this update, no action is required. Revised 4/15/2021: On April 13th, 2021, this update was released to replace a previous release of this some updates. See known issues section for more details. If you've already installed a previous release of an affected update, no action is required. Today, we are releasing the September 2020 Security and Quality Rollup Updates for .NET Framework...
Free e-book: Blazor for ASP.NET Web Forms Developers
Announcing the release of our new e-book: Blazor for ASP.NET Web Forms developers. This book caters specifically to ASP.NET Web Forms developers looking for guidelines and strategies for migrating their existing apps to a modern, open-source, and cross-platform web framework.
.NET Framework September 3, 2020 Cumulative Update Preview for Windows 10 2004 and Windows Server, version 2004
Today, we are releasing the September 3, 2020 Cumulative Update Preview Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 - Addresses an issue with a crash on COM interop to properly return the hresult for the Out of Memory Exception - Addresses an issue in some 32 bit apps where, in certain scenarios, the JIT might omit a function call - Improved support for cleaning up private temporary certificate keys WPF2 - Improved spell checking so words like "etc." and "e.g." will no longer be identified as spelling errors when spell-...
.NET CLI Templates in Visual Studio
If you are a template author for .NET Core templates and have been wanting to show up for Visual Studio users as well with little effort we have enabled a new preview feature for you! Visual Studio now has an option in preview to enable CLI-installed .NET Core templates to display as options in the New Project Dialog experience.
Customizing Trimming in .NET 5
This second post on app trimming goes into more detail about to annotate code to control the trimming process.
ARM64 Performance in .NET 5
ARM64 performance work in .NET 5
Improvements in native code interop in .NET 5.0
In this post, we discuss interop improvements in .NET 5.0 and describe some of the work we are considering for the future. We also have a survey on GitHub, where we hope to hear about your experiences in the interop space.
App Trimming in .NET 5
Trimming is an option as part of publishing self contained apps in .NET Core. This post goes into more detail about the trimming options in .NET 5 including type and member level trimming.
Introducing the Half type!
The specification defines many floating point types, including: , , and . Most developers are familiar with (equivalent to in C#) and (equivalent to in C#). They provide a standard format to represent a wide range of values with a precision acceptable for many applications. .NET has always had and and with .NET 5 Preview 7, we've added a new type (equivalent to )! A is a binary floating-point number that occupies 16 bits. With half the number of bits as float, a number can represent values in the range ±65504. More formally, the type is defined as a base-2 16-bit interchange format meant to support...
Big Plans for Big Data and .NET for Spark
The .NET for Spark team is seeking your feedback to improve the experience of working with big data in .NET.
F# 5 update for August
We’re excited to announce more updates to F# 5 which will go alongside .NET 5 preview 8! We've shipped various updates since the beginning of this year: Today, we're pleased to announce the completion of the F# 5 feature work. There is one minor enhancement planned for the .NET 5 RC, but other than that we are finished with F# 5! From this point forward, our journey to shipping F# 5 will be focused mostly on bug fixes and addressing feedback. You can get the latest F# 5 in these ways If you’re using Visual Studio on Windows, you’ll need both the .NET 5 preview SDK and Visual Studio Preview ...
Automatically find latent bugs in your code with .NET 5
Introduction to the new Analysis Level feature shipping in .NET 5 Preview 8
Announcing Entity Framework Core (EF Core) 5.0 Preview 8
Entity Framework Core EF Core 5.0 Preview 8 is here with Table-per-type (TPT), table-valued functions support, SQLite table rebuilds for migrations and more.
ASP.NET Core updates in .NET 5 Preview 8
.NET 5 Preview 8 is now available! Check out all the improvements in ASP.NET Core in this preview update.
Announcing .NET 5.0 Preview 8
Today, we are releasing .NET 5.0 Preview 8. The .NET 5.0 release is now "feature complete", meaning that very nearly all features are in their final form (with the exception of bug fixes still to come). Preview 8 is, appropriately, the last preview. We plan on releasing two go-live release candidates before the final .NET 5.0 release in November. This post describes a selection of features across the .NET 5.0 release. You can download .NET 5.0, for Windows, macOS, and Linux: We also released new versions of ASP.NET Core and EF Core today. You need the latest preview version of V...
New C# Source Generator Samples
This post describes two new generators that we added to the samples project in the Roslyn SDK github repo. The first generator gives you strongly typed access to CSV data. The second one creates string constants based on Mustache specifications.
August ML.NET API and Tooling Updates
ML.NET is an open-source, cross-platform machine learning framework for .NET developers. It enables integrating machine learning into your .NET apps without requiring you to leave the .NET ecosystem or even have a background in ML or data science. ML.NET provides tooling (Model Builder UI in Visual Studio and the cross platform ML.NET CLI) that automatically trains custom machine learning models for you based on your scenario and data. We recently released ML.NET 1.5 and 1.5.1 as well as a new version of Model Builder. These releases include numerous bug fixes and enhancements, as well as new features for anom...
.NET Framework August 2020 Cumulative Update Preview
Today, we are releasing the August 2020 Cumulative Update Preview Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update Preview is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Windows Update or Microsoft Update Catalog. **Note**: Customers that rely on Windows Update and Windows...
View dependent packages on NuGet.org
We're excited to announce that you can now view dependent packages in the new Used By section on NuGet.org, yet another major improvement to the package evaluation experience!
Help us improve Visual Studio project tooling for .NET Core
We're currently planning our next set of investments in Visual Studio project tooling for .NET. This tooling, called a project system, sits at the heart of nearly every major action you perform when writing .NET code in Visual Studio. What is the .NET project system? The .NET project system is a set of components that power nearly everything you do in Visual Studio with .NET. It's the "plumbing" that moves data to and from Solution Explorer, designer tooling, language services and IntelliSense, the debugger, build and publish actions, configuration, and more. The .NET project system is also responsible for s...
A Deep Dive into How .NET Builds and Ships
This is a deep technical dive into the machinery and processes used by the .NET Team to build and ship .NET. It will be of interest to those who wish to know about such topics as: This post begins by laying out the multi-repository world that makes up the .NET product, its inherent challenges, and how we deal with them. This is a review of some of the information presented in The Evolving Infrastructure of .NET Core. Then it takes a close look at how we build, prep, and ship the product, especially around releases that include security fixes. Our Principles A Land of Many Re...
Bring the best of the Web to your .NET desktop applications with WebView2
Last year at Build, we introduced WebView2, a browser control that renders web content (HTML / CSS / JavaScript) with the new Chromium-based Microsoft Edge. It was originally limited in scope to C/C++ applications. Today, we are happy to announce the release of the WebView2 preview for .NET applications!
.NET Framework August 2020 Security and Quality Rollup Updates
Revised 6/8/2021: On June 8th, 2021, this update was released to replace a previous update to address a “revocation server was offline” error that may occur during installation. If you've already installed a previous release of this update, no action is required. Revised 4/15/2021: On April 13th, 2021, this update was released to replace a previous release of this some updates. See known issues section for more details. If you've already installed a previous release of an affected update, no action is required. Today, we are releasing the August 2020 Security and Quality Rollup Updates for .NET Framework. ...
.NET Core August 2020 Updates – 2.1.21 and 3.1.7
Today, we are releasing the .NET Core August 2020 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. Security CVE-2020-1597: ASP.NET Core Denial of Service Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in ASP.NET Core. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability. A denial of service vulnerability exists when ASP.NET Core improperly handles web requests. An attacker who successfully exploite...
Advanced search on NuGet.org
We are excited to announce that NuGet.org now supports one of our top customer asks - advanced search! You can now use a multitude of sorting and filtering criteria to help find the best NuGet packages for your needs!
.NET Framework July 2020 Cumulative Update Preview for Windows 10, version 2004
Today, we are releasing the July 2020 Cumulative Update Preview for .NET Framework 3.5 and 4.8 on Windows 10, version 2004. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET - Use FIPS-compliant hashes in ASP.Net telemetry data. - Addresses an issue where "Unspecified" was not an allowed value in config for the 'cookieSameSite' attribute of the forms authentication and session state configuration sections. CLR1 - A change in .NET Framework 4.8 regressed certain EnterpriseServices scenarios where an single-thread apartment object may be treated as an...
Learn about the latest .NET Productivity features
The .NET Productivity team (a.k.a. Roslyn) is constantly thinking of new ways to make .NET developers more productive. We’ve been working hard to take the feedback you’ve sent us and turn it into tools that you want! In this post, I’ll cover some of the latest .NET productivity features available in Visual Studio 2019. Tooling improvements The feature that I’m most excited about is the IntelliSense completion in DateTime and TimeSpan string literals. This feature is extremely helpful because we all know remembering DateTime and TimeSpan formats is hard enough. Place your caret inside the DateTime or TimeSpan ...
Hybrid Blazor apps in the Mobile Blazor Bindings July update
Hybrid Blazor apps now supported in Mobile Blazor Bindings Preview 4.
.NET Framework July 2020 Cumulative Update Preview
Today, we are releasing the July 2020 Cumulative Update Preview Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET - Use FIPS-compliant hashes in ASP.Net telemetry data. - Addresses an issue where "Unspecified" was not an allowed value in config for the 'cookieSameSite' attribute of the forms authentication and session state configuration sections. CLR1 - A change in .NET Framework 4.8 regressed certain EnterpriseServices scenarios where an single-thread apartment object may be treated as an multi-thread apartment and lead...
ASP.NET Core Updates in .NET 5 Preview 7
.NET 5 Preview 7 is now available! Check out all the improvements in ASP.NET Core in this preview update.
Announcing Entity Framework Core EF Core 5.0 Preview 7
Today, the Entity Framework Core team announces the seventh preview release of EF Core 5.0. This release includes a factory to create instances, the ability to reset state, Cosmos DB improvements including enhanced support for configuration options and partition keys, and much more. In this post To summarize: EF Core 5.0 runs on platforms that support .NET Standard 2.1. The plan is to maintain .NET Standard 2.1 compatibility through the final release. How to get EF Core 5.0 previews EF Core is distributed exclusively as a set of NuGet packages. For example, to add the SQL Server provider t...
Announcing .NET 5.0 Preview 7
Today, we're releasing .NET 5.0 Preview 7. It's the second to last of the preview releases (before moving to RC). Most features should be very close to done at this point. Single file and ARM64 intrinsics are two feature areas that are taking the longest time to complete, but are on track for Preview 8. See the .NET 5.0 Preview 4 post for a broader view of the release. ASP.NET Core and EF Core are also being released today. You can download .NET 5.0 Preview 7, for Windows, macOS, and Linux: You need to use Visual Studio 2019 16.7 to use .NET 5.0. .NET 5.0 is now supported with V...
New experimental Razor editor for Visual Studio
With the release of Visual Studio 2019 16.7 Preview 4, you can now try out our new experimental Razor editor for local development with MVC, Razor Pages, and Blazor. We're excited for you to give it a try!
.NET Framework July 2020 Security and Quality Rollup Updates
Revised 6/8/2021: On June 8th, 2021, this update was released to replace a previous update to address a “revocation server was offline” error that may occur during installation. If you've already installed a previous release of this update, no action is required. Revised 4/15/2021: On April 13th, 2021, this update was released to replace a previous release of this some updates. See known issues section for more details. If you've already installed a previous release of an affected update, no action is required. Today, we are releasing the July 2020 Security and Quality Rollup Updates for .NET Fram...
.NET Core July 2020 Updates – 2.1.20 and 3.1.6
Today, we are releasing the .NET Core July 2020 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. Security CVE-2020-1147: .NET Core Remote Code Execution Vulnerability Microsoft is releasing this security advisory to provide information about a vulnerability in .NET Core. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability. Microsoft is aware of a remote code execution vulnerability exists in .NET software when the software fails to check the source markup of...
Performance Improvements in .NET 5
Explore many performance improvements, big and small, that have gone into the .NET 5 runtime and core libraries to make apps and services leaner and faster.
Orchard Core Release Candidate 2 now available
We are thrilled to announce that Orchard Core RC2 is now available. What is Orchard Core? Orchard Core Framework is a community-based application framework for building modular, multi-tenant applications on ASP.NET Core. It has been created by more than 150 contributors and has over 4K stars on GitHub. Orchard Core also includes Orchard Core CMS, a Web Content Management System (CMS), that is built on top of the Orchard Core Framework. It allows you to build full websites, or headless websites using GraphQL. Getting Started Installing the templates You can install the recommended templates by running: ...
F# 5 and F# tools update for June
We’re excited to announce more updates to F# 5 today! We shipped an initial set of features with F# 5 preview 1, and they have all been stabilizing since that release including a updates from last month. Today, we’re happy to announce some new language features, a sneak peek at using F# in VSCode notebooks, and some F# tooling updates that will align with Visual Studio 2019 Update 16.7. You can get the latest F# 5 in these ways If you’re using Visual Studio on Windows, you’ll need both the .NET 5 preview SDK and Visual Studio Preview installed. Using F# 5 preview You can use F# 5 preview via...
ASP.NET Core updates in .NET 5 Preview 6
.NET 5 Preview 6 is now available and is ready for evaluation. Here's what's new in this release: Get started To get started with ASP.NET Core in .NET 5.0 Preview 6 install the .NET 5.0 SDK. You need to use Visual Studio 2019 16.7 or Visual Studio 2019 for Mac 8.6 to use .NET 5.0. Install the latest version of the C# extension, to use .NET 5.0 with Visual Studio Code. Upgrade an existing project To upgrade an existing ASP.NET Core 5.0 Preview 5 app to ASP.NET Core 5.0 Preview 6: See the full list of breaking changes in ASP.NET Core 5.0. That’s it! You should now be all set to use .NET 5 Previe...
Announcing Entity Framework Core EFCore 5.0 Preview 6
Today, the Entity Framework Core team announces the sixth preview release of EF Core 5.0. This release includes split queries for related collections, a new "index" attribute, improved exceptions related to query translations, IP address mapping, exposing transaction id for correlation, and much more. Prerequisites EF Core 5.0 will not run on .NET Standard 2.0 platforms, including .NET Framework. The previews of EF Core 5.0 require .NET Standard 2.1. This means that EF Core 5.0 will run on .NET Core 3.1 and does not require .NET 5. To summarize: EF Core 5.0 runs on platforms that support .NET Standard 2.1. ...
Announcing .NET 5.0 Preview 6
Today, we're releasing .NET 5.0 Preview 6. It contains a small set of new features and performance improvements. The .NET 5.0 Preview 4 post covers what we are planning to deliver with .NET 5.0. Most of the features are now in the product, but some are not yet in their final state. We expect that the release will be feature-complete with Preview 8. You can download .NET 5.0 Preview 6, for Windows, macOS, and Linux: ASP.NET Core and EF Core are also being released today. Note: EF Core 5.0 will not support .NET Standard 2.0 or .NET Framework. Read the EF Core post to learn more. You need ...
Introducing dotnet-monitor, an experimental tool
is an experimental tool that makes it easier to get access to diagnostics information in a dotnet process. When running a dotnet application differences in diverse local and production environments can make collecting diagnostics artifacts (e.g., logs, traces, process dumps) challenging. aims to simplify the process by exposing a consistent REST API regardless of where your application is run. This blog post details how to get started with and covers the following: Tour of dotnet-monitor Setup will be made available via two different distribution mechanism: The setup ins...
gRPC-Web for .NET now available
gRPC-Web for .NET is now officially released. Use gRPC in the browser with gRPC-Web and .NET today.
Introducing “Web Live Preview”
If you work on any type of app that has a user interface (UI) you probably have experienced that inner-loop development cycle of making a change, compile and run the app, see the change wasn’t what you wanted, stop debugging, then re-run the cycle again. Depending on the frameworks or technology you use, there are options to improve this experience such as edit-and-continue, Xamarin Hot Reload, and design-time editors. Of course, nothing will show the UI of your app like…well, your app! For ASP.NET WebForms we have had designers for a while allowing you to switch from your WebForms code view to the Design view...
ASP.NET Core updates in .NET 5 Preview 5
.NET 5 Preview 5 is now available and is ready for evaluation! .NET 5 will be a current release. Get started To get started with ASP.NET Core in .NET 5.0 Preview5 install the .NET 5.0 SDK. If you're on Windows using Visual Studio, we recommend installing Visual Studio 2019 16.6. If you're on macOS, we recommend installing the latest preview of Visual Studio 2019 for Mac 8.7. Upgrade an existing project To upgrade an existing ASP.NET Core 5.0 preview4 app to ASP.NET Core 5.0 preview5: See the full list of breaking changes in ASP.NET Core 5.0. That’s it! You should now be all set to use .NET 5 Preview ...
Announcing Entity Framework Core 5.0 Preview 5
Announcing the release of Entity Framework Core 5.0 Preview 5 featuring database collations, flowing arguments to IDesignTimeDbContextFactory, no tracking queries with identity resolution, stored (persisted) columns and SQLite computed columns.
Announcing .NET 5.0 Preview 5
Today, we're releasing .NET 5.0 Preview 5. It contains a small set of new features and performance improvements. The .NET 5.0 Preview 4 post covers what we are planning to deliver with .NET 5.0. Most of the features are now in the product, but many are not yet in their final state. We expect that the release will be very close to feature-complete by Preview 7. You can download .NET 5.0 Preview 5, for Windows, macOS, and Linux: ASP.NET Core and EF Core are also being released today. You need to use Visual Studio 2019 16.7 to use .NET 5.0. Install the latest version of the C# extension, t...
.NET Core June 2020 Updates – 2.1.19 and 3.1.5
Today, we are releasing the .NET Core June 2020 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. Security CVE-2020-1108: .NET Core Denial of Service Vulnerability To comprehensively address CVE-2020-1108, Microsoft has released updates for .NET Core 2.1 and .NET Core 3.1. Customers who use any of these versions of .NET Core should install the latest version of .NET Core. See the Release Notes for the latest version numbers and instructions for updating .NET Core. Microsoft is aware of a denial of service vulnerability whi...
Help us improve WPF and UWP XAML designer
We would like to make your experience developing WPF and UWP applications in Visual Studio better! Currently we are investigating ways of improving the XAML Designer and making you more productive while developing UI for your apps. You can already check out our preview version of the new feature called Suggested Actions that enables easy access to common properties when a control is selected. This feature is available in Visual Studio 2019 Preview version 16.6 and later. To use it, first enable it through Options > Preview Features > XAML Suggested Actions. Once enabled, click on a supported control and...
Continuous integration workflow template for .NET Core desktop apps with GitHub Actions
Learn how to use a starter workflow in GitHub to help you quickly set up and showcase DevOps for your .NET Core desktop applications using GitHub Actions.
Announcing Experimental Mobile Blazor Bindings May update
Update of Experimental Mobile Blazor Bindings with CSS fixes, improved docs, and easier syntax!
NuGet.org will permanently remove support for TLS 1.0 and 1.1 on June 15th
Last November, we shared our two-stage plan for deprecating TLS 1.0/1.1 on NuGet.org in which we stated that the permanent removal of TLS 1.0/1.1 support would occur in April 2020. However, in April, to avoid disrupting customers in the midst of the COVID-19 pandemic, we announced that we would continue to support TLS 1.0/1.1 until further notice. Now that some time has passed, we feel it is important to resume our plans to help ensure our customer’s security. As such, NuGet.org will permanently remove support for TLS 1.0 and 1.1 on June 15th, 2020. Prior to that date, please ensure that your systems use TLS 1.2...
Introducing YARP Preview 1
YARP is an extensible open source reverse proxy using .NET. The Preview 1 library is now available on nuget.
Introducing Project Tye
Project Tye Project Tye is an experimental developer tool that makes developing, testing, and deploying microservices and distributed applications easier. When building an app made up of multiple projects, you often want to run more than one at a time, such as a website that communicates with a backend API or several services all communicating with each other. Today, this can be difficult to setup and not as smooth as it could be, and it's only the very first step in trying to get started with something like building out a distributed application. Once you have an inner-loop experience there is then a, sometime...
Using Visual Studio Codespaces with .NET Core
Learn about how we are enabling .NET Core projects for Codespaces when using Visual Studio 2019.
Welcome to C# 9.0
Note: This post is out of date. Now that C# 9.0 has been released, an updated version can be found here. C# 9.0 is taking shape, and I'd like to share our thinking on some of the major features we're adding to this next version of the language. With every new version of C# we strive for greater clarity and simplicity in common coding scenarios, and C# 9.0 is no exception. One particular focus this time is supporting terse and immutable representation of data shapes. Let's dive in! Init-only properties Object initializers are pretty awesome. They give the client of a type a very flexible and readable fo...
F# 5 and F# tools update
We're excited to announce some updates to F# 5 today! We shipped a lot of preview features since F# 5 preview 1, and they have all been stabilizing since that release. Today, we're happy to announce some minor additions to F# 5 and talk about some pretty cool performance work we've been doing. Here's how you get the latest release: If you're using Visual Studio on Windows, you'll need both the .NET 5 preview SDK and Visual Studio Preview installed. Using F# 5 preview You can use F# 5 preview via the .NET 5 preview SDK, or through the .NET and Jupyter Notebooks support. If you’re using the .NET 5 prev...
Announcing Entity Framework Core 5.0 Preview 4
Announcing the release of Entity Framework Core 5.0 Preview 4 with bug fixes and new features like setting database column precision and configuring SQL Server index fill factor.
ML.NET Model Builder is now a part of Visual Studio
ML.NET is a cross-platform, machine learning framework for .NET developers. Model Builder is the UI tooling in Visual Studio that uses Automated Machine Learning (AutoML) to train and consume custom ML.NET models in your .NET apps. You can use ML.NET and Model Builder to create custom machine learning models without having prior machine learning experience and without leaving the .NET ecosystem. Model Builder in Visual Studio Previously, Model Builder was a Visual Studio extension that had to be installed from the VS Marketplace. Now, Model Builder ships with Visual Studio 16.6 as a preview feature! After enabl...
Windows Forms Designer for .NET Core Released
Today we're happy to announce that the Windows Forms designer for .NET Core projects is now available as a preview in Visual Studio 2019 version 16.6! We also have a newer version of the designer available in Visual Studio 16.7 Preview 1! Don't forget to enable the designer in Tools > Options > Environment > Preview Features. Many of you may remember that we open-sourced Windows Forms and ported it to .NET Core with .NET Core 3.0. Since then, we've been hard at work bringing the Windows Forms designer experience to .NET Core. While we are getting closer to completion, we are continuing work on ...
Blazor WebAssembly 3.2.0 now available
Blazor WebAssembly is now officially released! This is a fully-featured and supported release of Blazor WebAssembly that is ready for production use. Full stack web development with .NET is now here!
ASP.NET Core updates in .NET 5 Preview 4
.NET 5 Preview 4 is now available and is ready for evaluation! .NET 5 will be a current release. Get started To get started with ASP.NET Core in .NET 5.0 Preview4 install the .NET 5.0 SDK. If you're on Windows using Visual Studio, we recommend installing the latest preview of Visual Studio 2019 16.6. If you're on macOS, we recommend installing the latest preview of Visual Studio 2019 for Mac 8.6. Upgrade an existing project To upgrade an existing ASP.NET Core 5.0 preview3 app to ASP.NET Core 5.0 preview4: See the full list of breaking changes in ASP.NET Core 5.0. That’s it! You should now be all set ...
Introducing .NET Multi-platform App UI
You can build anything with .NET. It's one of the main reasons millions of developers choose .NET as the platform for their careers, and companies invest for their businesses. With .NET 5 we begin our journey of unifying the .NET platform, bringing .NET Core and Mono/Xamarin together in one base class library (BCL) and toolchain (SDK). As we consider what building device applications will look like in a unified .NET, we see many devices across multiple platforms used, from Android and iOS to Windows and macOS. To address this need we are excited to announce a new first-class UI framework for doing just that: ....
Announcing .NET 5 Preview 4 and our journey to one .NET
.NET 5 is the next version and future of .NET. We are continuing the journey of unifying the .NET platform, with a single framework that extends from cloud to desktop to mobile and beyond. Looking back, we took the best of .NET Framework and put that into .NET Core 3, including support for WPF and Windows Forms. As we continue the journey, we will move Xamarin and .NET web assembly to use the .NET 5 libraries, and extend the dotnet tools to target mobile and web assembly in the browser. At the same time, we'll continue to improve .NET capabilities as a leading cloud and container runtime. You can tune in to he...
.NET Core May 2020 Updates – 2.1.18 and 3.1.4
Today, we are releasing the .NET Core May 2020 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Getting the Update The latest .NET Core updates are available on the .NET Core download page. This update will be incl...
.NET Framework May 2020 Security and Quality Rollup Updates
Revised 6/8/2021: On June 8th, 2021, this update was released to replace a previous update to address a “revocation server was offline” error that may occur during installation. If you've already installed a previous release of this update, no action is required. Revised 4/15/2021: On April 13th, 2021, this update was released to replace a previous release of this some updates. See known issues section for more details. If you've already installed a previous release of an affected update, no action is required. Today, we are releasing the May 2020 Security and Quality Rollup Updates for .NET Framework. Sec...
Using ML.NET for deep learning on images in Azure
This post will show you how to train a custom image classification model in Azure to categorize flowers using ML.NET Model Builder. Then, you can leverage your existing .NET skills to consume the trained model inside a C# .NET Core console application. Best of all, little to no prior machine learning knowledge is required.
Configuring Azure Services and emulators using Visual Studio
Starting with Visual Studio 16.6 Preview 2 the Connected Services tab offers a new experience called Service Dependencies. You can use it to connect your app to Azure services such as Azure SQL, Storage, Key Vault and many others. Wherever possible local emulation options are also available and more are planned for the future. Add a new Service Dependency You can easily and quickly get the right NuGet packages, start-up code and configuration added to your project for every supported Azure service. You simply click add, pick the service from the list and follow the 2-3 steps in the wizard. Here is an ex...
Blazor WebAssembly 3.2.0 Release Candidate now available
The Blazor WebAssembly Release Candidate is here! This release contains all of the features and improvements that we expect to release for the upcoming Blazor WebAssembly release. There are no more breaking changes planned at this point. Please give the Blazor WebAssembly Release Candidate a try and let us know what you think!
Introducing C# Source Generators
We're pleased to introduce the first preview of Source Generators, a new C# compiler feature that lets C# developers inspect user code and generate new C# source files that can be added to a compilation. This is done via a new kind of component that we're calling a Source Generator. To get started with Source Generators, you'll need to install the latest .NET 5 preview and the latest Visual Studio preview. Note: to build a source generator, you currently require Visual Studio. This will change in the next .NET 5 preview. What is a Source Generator? Unless you've been closely following every prototype and pro...
Work flow of diagnosing memory performance issues – Part 2
Work flow of diagnosing memory performance issues – Part 0 Work flow of diagnosing memory performance issues – Part 1 Work flow of diagnosing memory performance issues – Part 2 (this post) In this blog post I’ll talk a bit about how to spend time wisely and then continue with the analysis. Originally I was going to delve deeper into the GCStats view but I actually just debugged a long suspension issue that I wanted to share 'cause it shows some general ideas of what to do when you hit problems during an analysis. You can skip to the analysis part directly if you like.PerfView isn’t just to collect...
Blazor WebAssembly 3.2.0 Preview 5 release now available
Blazor WebAssembly 3.2.0 Preview 5 is now available! Check out all the updates and improvements in this release.
Announcing .NET 5.0 Preview 3
Today, we're releasing .NET 5.0 Preview 3. It contains a set of new features and performance improvements. We're continuing to work on the bigger features that will define the 5.0 release. The .NET 5.0 Preview 1 post covers what we are planning on building for .NET 5.0. Please take a look at the post and the dotnet/designs repository and share any feedback you have. And, of course, please install Preview 3, and test your workloads with it. You can download .NET 5.0 Preview 3, for Windows, macOS, and Linux: ASP.NET Core and EF Core are also being released today. You need to use Visual Studio...
ASP.NET Core updates in .NET 5 Preview 3
.NET 5 Preview3 is now available and is ready for evaluation! .NET 5 will be a current release. Get started To get started with ASP.NET Core in .NET 5.0 Preview3 install the .NET 5.0 SDK. If you're on Windows using Visual Studio, we recommend installing the latest preview of Visual Studio 2019 16.6. If you're on macOS, we recommend installing the latest preview of Visual Studio 2019 for Mac 8.6. Upgrade an existing project To upgrade an existing ASP.NET Core 5.0 preview2 app to ASP.NET Core 5.0 preview3: See the full list of breaking changes in ASP.NET Core 5.0. That’s it! You should...
Announcing Entity Framework Core 5.0 Preview 3
Today we are excited to announce the third preview release of EF Core 5.0. The third previews of .NET 5 and ASP.NET Core 5.0 are also available now. Prerequisites The previews of EF Core 5.0 require .NET Standard 2.1. This means: How to get EF Core 5.0 previews EF Core is distributed exclusively as a set of NuGet packages. For example, to add the SQL Server provider to your project, you can use the following command using the dotnet tool: The EF Core packages published today are: We have also published the 5.0 previe...
NuGet.org will continue to support TLS 1.0 and 1.1 until further notice
Last November, we shared our two-stage plan for deprecating TLS 1.0/1.1 on NuGet.org and actions you can take today to ensure your systems use TLS 1.2. In that post, we announced that NuGet.org would remove support for TLS 1.0/1.1 in April 2020. However, since then, our customers have faced a variety of challenges in the wake of the COVID-19 pandemic. In order to avoid any further disruptions to our customer's workflows, we have postponed the removal of TLS 1.0/1.1 support until further notice. For enhanced security, we still recommend ensuring your systems use TLS 1.2. We will announce a revised date for perman...
Help us shape the future of deep learning in .NET
Deep learning is a subset of machine learning used for tasks such as image classification, object detection, and natural language processing. It uses algorithms known as neural networks to learn and make predictions on image, sound, or text data. Neural networks learn from experience, just like we do as humans. Similar to how we may try an activity and adjust our actions based on the outcome, these algorithms perform a task repeatedly and tweak various actions or variables each time to improve their results, making them very powerful and intelligent. We'd love to learn more about your current or prospective...
Blazor WebAssembly 3.2.0 Preview 4 release now available
Blazor WebAssembly 3.2.0 Preview 4 is now available! Check out all the updates and improvements in this release.
Using .NET Core to provide Power Query for Excel on Mac
Power Query is a data connection technology that enables you to discover, connect, combine, and refine data sources to meet your analysis needs. Features in Power Query are available in Excel and Power BI Desktop. Power Query was developed for windows and is written in C# targeting .NET Framework. The Power Query product has been in development for many years, it has a considerably large codebase, and is being used by millions of existing customers. Originally Power Query was distributed as an Excel 2013 Add-In. However, as part of Excel 2016 it was natively integrated into Excel. Due to the dependency on .NET...
Work flow of diagnosing memory performance issues – Part 1
Work flow of diagnosing memory performance issues – Part 0 Work flow of diagnosing memory performance issues – Part 1 (this post) Work flow of diagnosing memory performance issues – Part 2 In this blog post I’ll talk a bit about contributing to PerfView and then continue with the GCStats analysis. You can skip to the analysis part directly if you like. One of the frustrating things for me when it comes to tooling is there are a lot of memory perf tools out there but very few are targeting the common types of customers I normally work with. Every tool does the basics; very few do intermediate and ...
Work flow of diagnosing memory performance issues – Part 0
Work flow of diagnosing memory performance issues – Part 0 (this post) Work flow of diagnosing memory performance issues – Part 1 Work flow of diagnosing memory performance issues – Part 2 I wanted to describe what I do to diagnose memory perf issues, or rather the common part of various work flows of doing such diagnostics. Diagnosing performance issues can take many forms because there’s no fixed steps you follow. But I’ll try to break it down into basic blocks that get invoked for a variety of diagnostics. This part is for beginners so if you've been doing memory perf analysis for a while you...
Regex Performance Improvements in .NET 5
For .NET 5, we’ve invested in some significant improvements to the Regex engine. On many of the expressions we’ve tried, these changes routinely result in throughput improvements of 3-6x, and in some cases, much more. In this post, I’ll walk through some of the myriad of changes that have gone into System.Text.RegularExpressions in .NET 5.
Announcing Entity Framework Core 5.0 Preview 2
Today we are excited to announce the second preview release of EF Core 5.0. Improvements include support for C# attributes to specify a backing field, complete discriminator mapping, and performance improvements with SQLite.
ASP.NET Core updates in .NET 5 Preview 2
.NET 5 Preview2 is now available and is ready for evaluation! .NET 5 will be a current release. Get started To get started with ASP.NET Core in .NET 5.0 Preview2 install the .NET 5.0 SDK. If you're on Windows using Visual Studio, we recommend installing the latest preview of Visual Studio 2019 16.6. If you're on macOS, we recommend installing the latest preview of Visual Studio 2019 for Mac 8.6. Upgrade an existing project To upgrade an existing ASP.NET Core 5.0 preview1 app to ASP.NET Core 5.0 preview2: See the full list of breaking changes in ASP.NET Core 5.0. That’s it! You should now be...
Announcing .NET 5.0 Preview 2
Today, we're releasing .NET 5.0 Preview 2. It contains a set of smaller features and performance improvements. We're continuing to work on the bigger features that will define the 5.0 release, some of which are starting to show up as initial designs at dotnet/designs. The .NET 5.0 Preview 1 post covers what we are planning on building for .NET 5.0. Please take a look at the post and the designs repository and share any feedback you have. And, of course, please install Preview 2, and test any workloads you can with it. You can download .NET 5.0 Preview 2, for Windows, macOS, and Linux: ASP.NET Core and EF ...
.NET for Apache® Spark™ In-Memory DataFrame Support
.NET for Apache Spark is aimed at making Apache® Spark™, and thus the exciting world of big data analytics, accessible to .NET developers. .NET for Spark can be used for processing batches of data, real-time streams, machine learning, and ad-hoc query. The DataFrame is one of the core data structures in Spark programming. A DataFrame is a distributed collection of data organized into named columns. In a Spark application, we typically start off by reading input data from a data source, storing it in a DataFrame, and then leveraging functionality like Spark SQL to transform and gain insights from our data. User...
Helping Customers Effectively
I have to put a disclaimer here since this is not the usual type of blog posts I write. I’m by no means a master at communication. This is just what I thought that seemed to work well. YMMV of course. But I’d be very happy if they help you in some way ‘cause many of us work with customers. And I welcome your thoughts and suggestions. I have talked to customers a lot since I started working on the GC. This is in the context of helping customers to handle and resolve issues they are seeing. 1. The intention of helping should be genuine I am naturally the kind of person who wants to help with coming up with a s...
Balancing work on GC threads
In Server GC, each GC thread will work on its heap in parallel (that's a simplistic view and is not necessarily true for all phases but on the high level it's exact the idea of a parallel GC). So that alone means work is already split between GC threads. But because GC work for some stages can only proceed after all threads are done with their last stage (for example, we can’t have any GC thread start with the plan phase until all GC threads are done with the mark phase so we don’t miss objects that should be marked), we want the amount of GC work balanced on each thread as much as possible so the total pause can...
Blazor WebAssembly 3.2.0 Preview 3 release now available
Blazor WebAssembly 3.2.0 Preview 3 is now available! Check out all the updates and improvements in this release.
.NET Core March 2020 Updates – 2.1.17 and 3.1.3
Today, we are releasing the .NET Core March 2020 Update. These updates only contain non-security fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Getting the Update The latest .NET Core updates are available on the .NET Core download page. This update will be included in a futu...
Catch up on the latest .NET Productivity features
The Roslyn team continuously works to provide tooling that deeply understands the code you are writing in-order to help you be more productive. In this post, I'll cover some of the latest .NET Productivity features available in Visual Studio 2019. Tooling improvements The feature that I'm most excited about is the new Go To Base command. Go To Base allows you to easily navigate up the inheritance chain. The command is available on the context (right-click) menu of the element that you want to navigate the inheritance hierarchy. Or you can press Alt+Home. Find All References now categorizes the results by ty...
Announcing F# 5 preview 1
We're excited to announce that F# 5 preview 1 is now available! Here's how to get it: If you're using Visual Studio on Windows, you'll need both the .NET 5 preview SDK and Visual Studio Preview installed. Using F# 5 preview You can use F# 5 preview via the .NET 5 preview SDK, or through the .NET and Jupyter Notebooks support. If you're using the .NET 5 preview SDK, check out a sample repository showing off some of what you can do with F# 5. You can play with each of the features there instead of starting from scratch. If you'd rather use F# 5 in your own project, you'll need to add a property and add a...
.NET Framework March 2020 Update for Windows 10 1607 (Anniversary Update) and Windows Server 2016.
Today, we are releasing an update for .NET Framework 4.8 on Windows 10 1607 (Anniversary Update) and Windows Server 2016. Security This update does not contain any new security fixes. See January 2020 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvement. CLR1 1 Common Language Runtime (CLR) Getting the Update The Update is available via Microsoft Update Catalog only. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are avai...
Updates on .NET Core Windows Forms designer
We released a preview version of Visual Studio 16.6 - Visual Studio 2019 version 16.6 Preview 1 and with it a new version of .NET Core Windows Forms designer. This release contains Coming next In the future releases we will be working on and third-party controls support, integration with popular controls vendors, support for Data Controls and related scenarios, performance improvements and other features. How to use the designer How to report issues Your feedback is important to us! Please report issues and send feature requests via the Visual Studio Feedback channel. Use the "Se...
Async ValueTask Pooling in .NET 5
The async/await feature in C# has revolutionized how developers targeting .NET write asynchronous code. Sprinkle some and around, change some return types to be tasks, and badda bing badda boom, you've got an asynchronous implementation. In theory. In practice, obviously I've exaggerated the ease with which a codebase can be made fully asynchronous, and as with many a software development task, the devil is often in the details. One such "devil" that performance-minded .NET developers are likely familiar with is the state machine object that enables an async method to perform its magic. State Machines and All...
ASP.NET Core updates in .NET 5 Preview 1
ASP.NET Core updates in .NET 5 Preview 1
Announcing Entity Framework Core 5.0 Preview 1
Today we are excited to announce the first preview release of EF Core 5.0. Prerequisites The previews of EF Core 5.0 require .NET Standard 2.1. This means: How to get EF Core 5.0 previews EF Core is distributed exclusively as a set of NuGet packages. For example, to add the SQL Server provider to your project, you can use the following command using the dotnet tool: The EF Core packages published today are: We have also published the 5.0 preview 1 release of the Microsoft.Data.Sqlite.Core ADO.NET provider. Installing dotnet ef As with EF Core 3.0 and 3.1, the dotnet ef command-...
Announcing .NET 5 Preview 1
At the end of last year, we shipped .NET Core 3.0 and 3.1. These versions added the desktop app models Windows Forms (WinForms) and WPF, ASP.NET Blazor for building single page applications and gRPC for cross-platform, contract-based messaging. We also added templates for building services, rich generation of client code for talking to gRPC, REST API services, and a lot more. We’re excited to see that .NET Core 3 has become the fastest adopted version of .NET ever and we’ve gained another million more users in just the last year. We also communicated with these releases that this would conclude the porting of th...
Continuous integration and deployment for desktop apps with GitHub Actions
From speaking to desktop developers, we’ve heard that you want to learn how to quickly set up continuous integration and continuous deployment (CI/CD) workflows for your WPF and Windows Forms applications in order to take advantage of the many benefits CI/CD pipelines have to offer, such as: That's why we created a sample application in GitHub to showcase DevOps for your applications using the recently released GitHub Actions. With GitHub Actions, you can quickly and easily automate your software workflows with CI/CD. The sample application demonstrates how to author the YAML files that comprise...
What do you want to see next in ML.NET?
ML.NET is an open source and cross-platform machine learning framework made for .NET developers. Using ML.NET, you can stay in .NET to easily build and consume custom machine learning models for scenarios like sentiment analysis, price prediction, sales forecasting, recommendation, image classification, and more. Over the past six months, the team has been working hard on fixing bugs, improving documentation, and adding more features and capabilities based on user feedback. This includes: Now we'd like to see how you're using ML.NET and what features we can add and/or improve to make the framework and...
Announcing the .NET Core Uninstall Tool 1.0!
Today we are releasing the .NET Core Uninstall Tool for Windows and Mac! Starting in Visual Studio 2019 version 16.3, Visual Studio manages the versions of the SDK and runtime it installs. In previous versions, SDKs and runtimes were left on upgrade in case those versions were targeted or pinned with . We realized this was not ideal and might have left many unused .NET Core SDKs and runtimes installed on your machine. Going forward, we've updated the Visual Studio behavior. The .NET Core standalone SDK installer also began removing previous patch versions (the last two digits, for example 3.1.1xx) in .NET Core ...
Blazor WebAssembly 3.2.0 Preview 2 release now available
Blazor WebAssembly 3.2.0 Preview 2 is now available! Check out all the updates and improvements in this release.
How to write a Roslyn Analyzer
Roslyn analyzers inspect your code for style, quality, maintainability, design and other issues. Because they are powered by the .NET Compiler Platform, they can produce warnings in your code as you type even before you’ve finished the line. In other words, you don’t have to build your code to find out that you made a mistake. Analyzers can also surface an automatic code fix through the Visual Studio light bulb prompt that allows you to clean up your code immediately. With live, project-based code analyzers in Visual Studio, API authors can ship domain-specific code analysis as part of their NuGet packages. You ...
February ML.NET Model Builder Updates
With the ML.NET Model Builder, create custom machine learning models for scenarios like sentiment analysis, price prediction, and more without any machine learning experience and without leaving the .NET ecosystem!
.NET Core 3.0 will reach End of Life on March 3, 2020
.NET Core 3.0 will reach end of life on March 3, 2020. It is a “Current” release and is superseded by .NET Core 3.1, which was released on December 3, 2019. After that time, .NET Core patch updates will no longer include updated packages .NET Core 3.0. .NET Core 3.1 is a long-term supported (LTS) release (supported for at least 3 years). We recommend that you move any .NET Core 3.0 applications and environments to .NET Core 3.1 now. It’ll be an easy upgrade in most cases. Upgrade to .NET Core 3.1 Microsoft Support Policy Microsoft has a published support policy for .NET Core. It includes policies for two...
.NET Framework February 2020 Preview of Quality Rollup for Windows 10 1909, Windows 10 1903, Windows Server, version 1909 and Windows Server, version 1903
Today, we are releasing the February 2020 Preview of Quality Rollup for Windows 10 1909, Windows 10 1903, Windows Server, version 1909 and Windows Server, version 1903. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WCF2 Workflow2 Winforms 1 Common Language Runtime (CLR) 2 Windows Communication Foundation (WCF) Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update C...
Provisional Mode
A coworker asked me what this “PMFullGC” trigger reason he’s seeing in GCStats means. I thought it’d be useful to share the info here.PM stands for Provisional Mode which means after a GC starts, it can change its mind about the kind of GC it’s doing. But what does that mean exactly? So normally when we start a GC, the first things we do are-And after that the collection work will start and go with the decision we made. When provisional mode is on, while we are already in the middle of a GC, we can say “hmm, it looks like collecting this generation was not a good idea, let’s go with a different generation instead...
ASP.NET Core Apps Observability
Based on interactions with customers using .NET Core in different environments, this article explores options for adding observability to .NET Core apps. Looking specifically into OpenTelemetry and Application Insights SDKs to add observability to a sample distributed application.
.NET Framework February 2020 Preview of Quality Rollup
Today, we are releasing the February 2020 Preview of Quality Rollup Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. CLR1 WCF2 Workflow Winforms 1 Common Language Runtime (CLR) 2 Windows Communication Foundation (WCF) Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Window...
.NET Core February 2020 Updates – 2.1.16, 3.0.3, and 3.1.2
Today, we are releasing the .NET Core February 2020 Update. These updates only contain non-security fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Getting the Update The latest .NET Core updates are available on the .NET Core download page. This update will be included in a ...
Deprecating TLS 1.0 and 1.1 on NuGet.org – Stage 1
In this post, we will go into more details and a specific timeline for Stage 1 i.e. temporarily removing support for TLS 1.0/1.1 on NuGet.org. The goal is to help you identify systems that may be affected and will give you an opportunity to take action before we permanently remove support for TLS 1.0/1.1 in April 2020.
.NET Framework February 2020 Security and Quality Rollup
Today, we are releasing the February 2020 Security and Quality Rollup Updates for .NET Framework. Security The February Security and Quality Rollup Update does not contain any new security fixes. See January 2020 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. Some improvements included in the Security and Quality Rollup and were previously released in the Security and Quality Rollup that was dated January 23, 2020. Acquistion & Deployment CLR1 Net Libraries SQL WCF2 ...
Using .NET for Apache® Spark™ to Analyze Log Data
.NET for Apache Spark makes Apache® Spark™, and thus the exciting world of big data analytics, accessible to .NET developers. .NET for Spark can be used for processing batches of data, real-time streams, machine learning, and ad-hoc query. In this post, we explore how to use .NET for Spark to perform log analysis.
Announcing Experimental Mobile Blazor Bindings February update
Update of Experimental Mobile Blazor Bindings with new controls, iOS startup fix, easier native animations, and more!
Garbage Collection at Food Courts
When I first started working on the GC, my predecessor was explaining the GC tuning to me. I told him that I thought it sounded like how I saw janitors work at food courts (I frequented food courts at the time 😀). And he concurred. What I said was if you observe at a food court, in order to be productive, the janitor tries to collect a sizable amount of dirty dishes when they come out to collect, which means they collect more often when it's busy to not risk running out of clean dishes, and less often when it’s not busy because there are very few dishes to be collected. This is the same way that the GC tunes. Th...
.NET Interactive is here! | .NET Notebooks Preview 2
In November 2019, we announced .NET support for Jupyter notebooks with both C# and F# support. Today we are excited to announce Preview 2 of the .NET Notebook experience. Preview 2 includes C#, F#, and PowerShell support.
GC Handles
A customer asked me about analyzing perf related to GC handles. I feel like aside from pinned handles in general handles are not talked about much so this topic warrants some explanation, especially since this is a user facing feature. For some background info, GC handles are indeed generational so when we are doing ephemeral GCs we only need to scan handles in the generations we are collecting. However there are complications associated with handles’ ages because of the way handles are organized – we don’t organize by individual handles, we organize them in groups and each group needs to have the same age so if...
Blazor WebAssembly 3.2.0 Preview 1 release now available
Blazor WebAssembly 3.2.0 Preview 1 is now available! Check out all the updates and improvements in this release.
A new experiment: Call .NET gRPC services from the browser with gRPC-Web
Build web apps using gRPC-Web and .NET Core! Check out this new experiment for gRPC-Web on .NET Core.
.NET Framework January Preview of Quality Rollup
Today, we are releasing the January 2020 Preview of Quality Rollup Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. Acquistion & Deployment CLR1 Net Libraries SQL Winforms WCF2 WPF3 1 Common Language Runtime (CLR) 2 Windows Communication Foundation (WCF) 3 Windows Presentation Foundation (WPF) Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get ...
.NET Core January 2020 Updates – 2.1.15, 3.0.2, and 3.1.1
Today, we are releasing the .NET Core January 2020 Update. These updates also contain security and reliability fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Getting the Update The latest .NET Core updates are available on the .NET Core download page. This update...
.NET Framework January Security and Quality Rollup
Today, we are releasing the January 2020 Security and Quality Rollup Updates for .NET Framework. Security CVE-2020-0605, CVE-2020-0606, CVE-2020-0646 – .NET Framework Remote Code Execution A remote code execution vulnerability exists when the Microsoft .NET Framework fails to validate input properly. An attacker who successfully exploited this vulnerability could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted...
Announcing Experimental Mobile Blazor Bindings
Download the Experimental Mobile Blazor Bindings framework. Build native mobile apps using Blazor!
Collecting and analyzing memory dumps
Introducing a new tool, dotnet-gcdump, for collecting portable memory dumps of .NET Core processes
An Introduction to DataFrame
Last month, we announced .NET support for Jupyter notebooks, and showed how to use them to work with .NET for Apache Spark and ML.NET. Today, we're announcing the preview of a DataFrame type for .NET to make data exploration easy. If you've used Python to manipulate data in notebooks, you'll already be familiar with the concept of a DataFrame. At a high level, it is an in-memory representation of structured data. In this blog post, I'm going to give an overview of this new type and how you can use it from Jupyter notebooks. To play along, fire up a .NET Jupyter Notebook in a browser. How to use DataFrame? stor...
ConfigureAwait FAQ
.NET added / to the languages and libraries over seven years ago. In that time, it's caught on like wildfire, not only across the .NET ecosystem, but also being replicated in a myriad of other languages and frameworks. It's also seen a ton of improvements in .NET, in terms of additional language constructs that utilize asynchrony, APIs offering async support, and fundamental improvements in the infrastructure that makes / tick (in particular performance and diagnostic-enabling improvements in .NET Core). However, one aspect of / that continues to draw questions is . In this post, I hope to answer many of them. I...
An Introduction to System.Threading.Channels
"Producer/consumer" problems are everywhere, in all facets of our lives. A line cook at a fast food restaurant, slicing tomatoes that are handed off to another cook to assemble a burger, which is handed off to a register worker to fulfill your order, which you happily gobble down. Postal drivers delivering mail all along their routes, and you either seeing a truck arrive and going out to the mailbox to retrieve your deliveries or just checking later in the day when you get home from work. An airline employee offloading suitcases from a cargo hold of a jetliner, placing them onto a conveyer belt, where they're shu...
.NET Framework December 2019 Security and Quality Rollup
Today, we are releasing the December 2019 Security and Quality Rollup Updates for .NET Framework. Security No new security fixes. See September 2019 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET CLR1 WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Known Issues in this update There are no known issues with this update. This update includes improvements to resolve a known issue discussed in October Preview of Quality Rollup that occurs after ap...
We made Windows Server Core container images >40% smaller
Over the past year, we've been working with the Windows Server team to make Windows Server Core container images a lot smaller. They are now >40% smaller! The Windows Server team has already published the new images in the Server Core Insider Docker repo, and will eventually publish them to their stable repo with their 20H1 release. You can check them out for yourself. I'll tell you how we did it and what you need to know to take advantage of the improvements. Let's start with the numbers: These measurements are based on images in the Windows Server Core insiders Docker repo. We used PowerShell as a proxy ...
GC Perf Infrastructure – Part 1
We open sourced our new GC Perf Infrastructure! It’s now part of the dotnet performance repo. I’ve been meaning to write about it ‘cause some curious minds had been asking when they could use it after I blogged about it last time but didn’t get around to it till now. First of all, let me point out that the target audience of this infra, aside from the obvious (ie, those who make performance changes to the GC), are folks need to do in-depth analysis of GC/managed memory performance and/or to build automation around it. So it assumes you already have a fair amount of knowledge what to look for with the analysis. ...
.NET Core 2.2 will reach End of Life on December 23, 2019
.NET Core 2.2 was released on December 4, 2018. As a non-LTS ("Current") release, it is supported for three months after the next release. .NET Core 3.0 was released on September 23, 2019. As a result, .NET Core 2.2 is supported until December 23, 2019. After that time, .NET Core patch updates will no longer include updated packages of container images for .NET Core 2.2. You should plan your upgrade from .NET Core 2.2 now. .NET Core 3.1 released December 3, 2019 as a Long-term support release. As a result, .NET Core 3.0, released September 23, 2019 is supported until March 23, 2020. Upgrade to .NET Core 3.1 T...
Updates to .NET Core Windows Forms designer in Visual Studio 16.5 Preview 1
We are happy to announce the new preview version of the .NET Core Windows Forms designer, which is available with the Visual Studio 16.5 Preview 1. The big news is that the designer is now part of Visual Studio! This means that installing the .NET Core Windows Forms designer from a separate VSIX is no longer needed! To use the designer: If you haven't enabled the Windows Forms designer, you might notice a yellow bar in the upper part of your Visual Studio Preview suggesting you to enable it: Selecting the Enable link takes you to the same place in Tools > Options > Environment ...
Announcing Entity Framework Core 3.1 and Entity Framework 6.4
Announcing Entity Framework Core 3.1 and Entity Framework 6.4 We are excited to announce the general availability of EF Core 3.1 and EF 6.4 on nuget.org. The final versions of .NET Core 3.1 and ASP.NET Core 3.1 are also available now. How to get EF Core 3.1 EF Core 3.1 is distributed exclusively as a set of NuGet packages. For example, to add the SQL Server provider to your project, you can use the following command using the dotnet tool: When upgrading applications that target older versions of ASP.NET Core to 3.1, you may also have to add the EF Core packages as an explicit dependency. Starting in 3.0 a...
ASP.NET Core updates in .NET Core 3.1
NET Core 3.1 is now available! Check out what's new in ASP.NET Core in this release.
Announcing .NET Core 3.1
Announcing .NET Core 3.1 We’re excited to announce the release of .NET Core 3.1. It's really just a small set of fixes and refinements over .NET Core 3.0, which we released just over two months ago. The most important feature is that .NET Core 3.1 is an long-term supported (LTS) release and will be supported for three years. As we've done in the past, we wanted to take our time before releasing the next LTS release. The extra two months (after .NET Core 3.0) allowed us to select and implement the right set of improvements over what was already a very stable base. .NET Core 3.1 is now ready to be used wherever yo...
Embracing nullable reference types
Probably the most impactful feature of C# 8.0 is Nullable Reference Types (NRTs). It lets you make the flow of nulls explicit in your code, and warns you when you don't act according to intent. The NRT feature holds you to a higher standard on how you deal with nulls, and as such it issues new warnings on existing code. So that those warnings (however useful) don't break you, the feature must be explicitly enabled in your code before it starts complaining. Once you do that on existing code, you have work to do to make that code null-safe and satisfy the compiler that you did. How should you think about when...
.NET Framework November 2019 Preview of Quality Rollup
Today, we are releasing the November 2019 Preview of Quality Rollup Quality and Reliability This release contains the following quality and reliability improvements for .NET Framework for Windows 8.1, Server 2012 R2, Server 2012, Windows 7 SP1, Server 2008 R2 SP1 and Server 2008 SP2. Following this recent announcement, there are no optional non-security updates for Windows 10 as part of this release. ASP.NET CLR1 WCF2 WPF3 SQL 1 Common Language Runtime (CLR) 2 Windows Communication Foundation (WCF) 3 Windows Presentation Foundation (WPF) Known Issues in this update There are no know...
.NET Core November 2019 Updates – 2.1.14, 2.2.8, and 3.0.1
Today, we are releasing the .NET Core November 2019 Update. These updates only contain non-security fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Getting the Update The latest .NET Core updates are available on the .NET Core download page. This update will be included in a ...
gRPC vs HTTP APIs
ASP.NET Core 3.0 adds support for gRPC, an opinionated contract-first remote procedure call framework. This blog post compares gRPC to JSON HTTP APIs, discusses gRPC's strengths and weaknesses, and when you could use gRPC to build your apps.
Deprecating TLS 1.0 and 1.1 on NuGet.org
co-authored by Scott Bommarito At Microsoft, using the latest and secure encryption techniques is very important to us to ensure the security and privacy of our customers. TLS 1.0 and TLS 1.1, released in 1999 and 2006 respectively, are known to be vulnerable to a number of attacks including POODLE and BEAST. In the past, we removed support for SSL 3 because it was also vulnerable to attacks. For those reasons, NuGet.org will be removing support for TLS 1.0 and 1.1. This means that you will no longer be able to restore packages, upload packages, or browse NuGet.org using these outdated security protocols. Th...
Announcing .NET Core 3.1 Preview 3
Today, we're announcing .NET Core 3.1 Preview 3. .NET Core 3.1 is a small and short release focused on key improvements in Blazor and Windows desktop, the two big additions in .NET Core 3.0.. It will be a long term support (LTS) release. We are coming near the end of the 3.1 release and expect to release it in early December. You can download .NET Core 3.1 Preview 3 on Windows, macOS, and Linux. ASP.NET Core and EF Core are also releasing updates today. Visual Studio 16.4 Preview 5 and Visual Studio for Mac 8.4 Preview 2 are also releasing today. They are required updates to use .NET Core 3.1 Preview 3. V...
ASP.NET Core updates in .NET Core 3.1 Preview 3
.NET Core 3.1 Preview 3 is now available! Check out what's new in ASP.NET Core in this release.
.NET Framework November 13, 2019, Update for .NET Framework 4.8
Today, we released an update for .NET Framework 4.8 to Microsoft Update Catalog. Quality and Reliability This release contains the following reliability improvement. CLR1 1 Common Language Runtime (CLR) Known Issues in this update There are no known issues with this update, however, this update resolves a previous known issue. These updates include improvements to resolve a known issue discussed in October Preview of Quality Rollup that occurs after applying the .NET Framework 4.8 patch. To resolve the known issue issue, install update for .NET Framework 4.8 available in the December 2019 Security a...
Improvements in .NET Core 3.0 for troubleshooting and monitoring distributed apps
.NET Core 3.0 made many improvements in distributed applications manageability. Learn about exciting new features and our plans in this area.
ML.NET Model Builder Updates
ML.NET is a cross-platform, machine learning framework for .NET developers, and Model Builder is the UI tooling in Visual Studio that uses Automated Machine Learning (AutoML) to easily allow you to train and consume custom ML.NET models.
.NET Framework Repair Tool
Today, we are announcing an update to .NET Framework Repair tool. In case you are not familiar with previous releases of this tool, here is a bit of background. Occasionally, some customers will run into issues when deploying a .NET Framework release or its updates and the issue may not be fixed from within the setup itself. In such cases, the .NET Framework Repair Tool can help with detecting and fixing some of the common causes of install failures. This version (v1.4) of the repair tool supports all versions of .NET Framework from 3.5 SP1 to 4.8. The latest update adds support for .NET Framework 4.6.2, 4.7, 4...
Building Modern Cloud Applications using Pulumi and .NET Core
This is a guest post from the Pulumi team. Pulumi is an open source infrastructure as code tool that helps developers and infrastructure teams work better together to create, deploy, and manage cloud applications using their favorite languages. For more information, see https://pulumi.com/dotnet. We are excited to announce .NET Core support for Pulumi! This announcement means you can declare cloud infrastructure — including all of Azure, such as Kubernetes, Functions, AppService, Virtual Machines, CosmosDB, and more — using your favorite .NET language, including C#, VB.NET, and F#. This brings the entire cloud t...
Announcing ML.NET 1.4 general availability (Machine Learning for .NET)
Coinciding with the Microsoft Ignite 2019 conference, we are thrilled to announce the GA release of ML.NET 1.4 and updates to Model Builder in Visual Studio, with exciting new machine learning features that will allow you to innovate your .NET applications. ML.NET is an open-source and cross-platform machine learning framework for .NET developers. ML.NET also includes Model Builder (easy to use UI tool in Visual Studio) and CLI (Command-Line Interface) to make it super easy to build custom Machine Learning (ML) models using Automated Machine Learning (AutoML). Using ML.NET, developers can leverage their existin...
.NET Core with Jupyter Notebooks – Available today | Preview 1
You can now write .NET Code in Jupyter Notebooks. Try .NET has grown to support more interactive experiences across the web with runnable code snippets, interactive documentation generator for .NET core with dotnet try global tool, and now .NET in Jupyter Notebooks. And you can get started with it today!
.NET Core 3 for Windows Desktop
Intro In September, we released .NET Core support for building Windows desktop applications, including WPF and Windows Forms. Since then, we have been delighted to see so many developers share their stories of migrating desktop applications (and controls libraries) to .NET Core. We constantly hear stories of .NET Windows desktop developers powering their business with WPF and Windows Forms, especially in scenarios where the desktop shines, including: This is just the beginning for Windows application development on .NET Core. Read on to learn more about the benefits of .NET Core for building Windows appl...
ASP.NET Core updates in .NET Core 3.1 Preview 2
.NET Core 3.1 Preview 2 is now available! Check out what's new in ASP.NET Core in this release.
Announcing .NET Core 3.1 Preview 2
Today, we're announcing .NET Core 3.1 Preview 2. .NET Core 3.1 will be a small and short release focused on key improvements in Blazor and Windows desktop, the two big additions in .NET Core 3.0.. It will be a long term support (LTS) release with an expected final ship date of December 2019. You can download .NET Core 3.1 Preview 2 on Windows, macOS, and Linux. ASP.NET Core and EF Core are also releasing updates today. Visual Studio 16.4 Preview 3 and Visual Studio for Mac 8.4 Preview 3 are also releasing today. They are required updates to use .NET Core 3.1 Preview 2. Visual Studio 16.4 includes .NET Cor...
The history of the GC configs
Recently, Nick from Stack Overflow tweeted about his experience of using the .NET Core GC configs – he seemed quite happy with them (minus the fact they are not documented well which is something I’m talking to our doc folks about). I thought it’d be fun to tell you about the history of the GC configs ‘cause it’s almost the weekend and I want to contribute to your fun weekend reading. I started working on the GC toward the end of .NET 2.0. At that time we had really, really few public GC configs. “Public” in this context means “officially supported”. I’m talking just gcServer and gcConcurrent, which you could sp...
Continuously deploy and monitor your UWP, WPF, and Windows Forms app with App Center
App Center is an integrated developer solution with the mission of helping developers build better apps. Last week, we announced General Availability support of distribute, analytics and diagnostics service for WPF and Windows Forms desktop applications. We also expanded our existing UWP offerings to include crash and error reporting for sideloaded UWP apps. In this blog, we’ll highlight how App Center can help you continuously ship higher quality apps. Get started in minutes by creating an App Center account. Managing your releases App Center Distribute makes releasing apps quick and simple so you can ship mo...
Introducing Orleans 3.0
This is a guest post from the Orleans team. Orleans is a cross-platform framework for building distributed applications with .NET. For more information, see https://github.com/dotnet/orleans. We are excited to announce the Orleans 3.0 release. A great number of improvements and fixes went in, as well as several new features, since Orleans 2.0. These changes were driven by the experience of many people running Orleans-based applications in production in a wide range of scenarios and environments, and by the ingenuity and passion of the global Orleans community that always strives to make the codebase better, fast...
.NET Framework October 2019 Cumulative Updates Windows 10 version 1903 and Windows 10 version 1909
Today, we are releasing the October 2019 Cumulative Updates for .NET Framework 3.5 and 4.8 on Windows 10 version 1903 and Windows 10 version 1909 Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET CLR1 Windows Forms WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Getting the Update The Cumulative Update is available via Windows Update, Windows Server Update Services (WSUS) and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NE...
Upcoming SameSite Cookie Changes in ASP.NET and ASP.NET Core
SameSite is a 2016 extension to HTTP cookies intended to mitigate cross site request forgery (CSRF). The original design was an opt-in feature which could be used by adding a new SameSite property to cookies. It had two values, Lax and Strict. Setting the value to Lax indicated the cookie should be sent on navigation within the same site, or through GET navigation to your site from other sites. A value of Strict limited the cookie to requests which only originated from the same site. Not setting the property at all placed no restrictions on how the cookie flowed in requests. OpenIdConnect authentication operation...
Fall .NET Core Survey
It’s been a busy time for .NET Core – we just shipped 3.0, and are currently working on a few updates for v3.1 (due in November.) As we turn our attention to .NET Core 5.0, we want to take a step back and see what you are doing with .NET Core and how we can make it even better. We have put together a quick survey that will help us understand our customer base a bit better, how you are using .NET core, and what we can do to improve it. So please head over to Survey Monkey and help shape the future of .NET Core. Surveys help give us a breadth view of .NET Core users, but we also want to understand in more depth w...
.NET Framework October 2019 Preview of Quality Rollup
Today, we are releasing the October 2019 Preview of Quality Rollup and Cumulative Updates for .NET Framework. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET CLR1 Windows Forms WPF2 1 Common Language Runtime (CLR) 2 Windows Presentation Foundation (WPF) Known Issues in this update Symptoms After applying this October 15th Preview of Quality Rollup for .NET Framework 4.8, some ClickOnce applications and applications creating the default AppDomain with a restricted permission set may observe application launch or application...
ASP.NET Core updates in .NET Core 3.1 Preview 1
.NET Core 3.1 Preview 1 is now available! Check out what's new in ASP.NET Core in this release.
Announcing .NET Core 3.1 Preview 1
Today, we're announcing .NET Core 3.1 Preview 1. .NET Core 3.1 will be a small release focused on key improvements in Blazor and Windows desktop, the two big additions in .NET Core 3.0. It will be a long term support (LTS) release with an expected final ship date of December 2019. You can download .NET Core 3.1 Preview 1 on Windows, macOS, and Linux. ASP.NET Core and EF Core are also releasing updates today. Visual Studio 16.4 Preview 2 and is also releasing today. It is a recommended update to use .NET Core 3.1 Preview 1. Visual Studio 16.4 includes .NET Core 3.1, so just updating Visual Studio will give...
Blazor Server in .NET Core 3.0 scenarios and performance
Blazor Server in .NET Core 3.0 enables you to add rich interactive UI to your .NET apps without having to write JavaScript. Learn about when to use Blazor Server, how it scales, how it relates to Blazor WebAssembly, and how we expect to evolve Blazor in the future.
.NET Framework October 2019 Security and Quality Rollup
Today, we are releasing the October 2019 Security and Quality Rollup and Cumulative Updates for .NET Framework. Security No new security fixes. See September 2019 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. BCL1 CLR2 WPF3 1 Base Class Library (BCL) 2 Common Language Runtime (CLR) 3 Windows Presentation Foundation (WPF) Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Up...
Introducing .NET Core Windows Forms Designer Preview 1
Introducing .NET Core Windows Forms Designer Preview 1 We just released a GA version of .NET Core 3.0 that includes support for Windows Forms and WPF. And along with that release we're happy to announce the first preview version of the Windows Forms Designer for .NET Core projects! For developers the .NET Core Windows Forms Designer (when we will release the GA version) will look and feel the same as the .NET Framework Windows Forms Designer. But for us it is a huge technical challenge to bring the designer to .NET Core because it requires the design surface that hosts the live .NET Core form to run outside t...
Deprecating packages on nuget.org
We are excited to announce that nuget.org now supports package deprecation. This has been a long standing ask that will help the ecosystem use supported packages. As a package publisher on nuget.org, you can now deprecate packages that are obsolete, legacy, or buggy. You can also suggest an alternate package to your deprecated package. This lets you guide your packages' consumers to the latest and greatest package. Unlisting vs. Deprecating packages Package deprecation is different than unlisting your package as explained below: Deprecating and Un-deprecating packages Package deprecation is easy. Just fo...
.NET Framework September 2019 Preview of Quality Rollup
We have released the September 2019 Preview of Quality Rollup and Cumulative Updates for .NET Framework for Windows 10 Quality and Reliability This release contains the following quality and reliability improvements. BCL1 CLR2 WPF3 1 Base Class Library (BCL) 2 Common Language Runtime (CLR) 3 Windows Presentation Foundation (WPF) Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 upda...
ML.NET and Model Builder at .NET Conf 2019 (Machine Learning for .NET)
We are excited today to announce updates to Model Builder and improvements in ML.NET. You can learn more in the “What’s new in ML.NET?.” session at .NET Conf. ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. ML.NET offers Model Builder Model Builder (a simple UI tool) and CLI to make it super easy to build custom ML Models using AutoML. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Ana...
Setting HTTP header attributes to enable Azure authentication/authorization using HTTPRepl
Posted on behalf of Ahmed Metwally The HTTP Read-Eval-Print Loop (REPL) is a lightweight, cross-platform command-line tool that's supported everywhere .NET Core is supported. It’s used for making HTTP requests to test ASP.NET Core web APIs and view their results. You can use the HTTPRepl to navigate and interrogate any API in the same manner that you would navigate a set of folders on a file system. If the service that you are testing has a swagger.json file, specifying that file to HTTPRepl will enable auto-completion. To install the HTTP REPL, run the following command: For more information...
Joining the .NET Foundation Maturity Model Pilot
Joining the .NET Foundation Maturity Model Pilot The .NET Foundation is starting a new pilot program to increase quality and user confidence in open source projects, using a new project maturity model. We've been working with the Technical Review Action Group at the Foundation to help shape the program. We're happy to see the pilot being launched and that the .NET Team is participating in the project. For us, this includes the underlying .NET platform, and also the packages we release. We get to talk with larger organizations frequently, both from the private and public sectors, about open source. On one end of...
Announcing Entity Framework Core 3.0 and Entity Framework 6.3 General Availability
We are extremely excited to announce the general availability of EF Core 3.0and EF 6.3 on nuget.org. The final versions of .NET Core 3.0 and ASP.NET Core 3.0 are also available now. How to get EF Core 3.0 EF Core 3.0 is distributed exclusively as a set of NuGet packages. For example, to add the SQL Server provider to your project, you can use the following command using the tool: When upgrading applications that target older versions of ASP.NET Core to 3.0, you also have to add the EF Core packages as an explicit dependency. Also starting in 3.0, the command-line tool is no longer included in the .NET Co...
Announcing F# 4.7
We’re excited to announce general availability of F# 4.7 in conjunction with the .NET Core 3.0 release! In this post, I’ll show you how to get started, explain everything in F# 4.7 and give you a sneak peek at what we’re doing for the next version of F#. F# 4.7 is another incremental release of F# with a focus on infrastructural changes to the compiler and core library and some relaxations on previously onerous syntax requirements. F# 4.7 was developed entirely via an open RFC (requests for comments) process. The F# community has offered very detailed feedback in discussions for this version of the language. Yo...
Announcing .NET Core 3.0
Announcing .NET Core 3.0 We’re excited to announce the release of .NET Core 3.0. It includes many improvements, including adding Windows Forms and WPF, adding new JSON APIs, support for ARM64 and improving performance across the board. C# 8 is also part of this release, which includes nullable, async streams, and more patterns. F# 4.7 is included, and focused on relaxing syntax and targeting .NET Standard 2.0. You can start updating existing projects to target .NET Core 3.0 today. The release is compatible with previous versions, making updating easy. Watch the team and the community talk about .NET at .NET Con...
ASP.NET Core and Blazor updates in .NET Core 3.0
ASP.NET Core and Blazor updates in .NET Core 3.0 Today we are thrilled to announce the release of .NET Core 3.0! .NET Core 3.0 is ready for production use, and is loaded with lots of great new features for building amazing web apps with ASP.NET Core and Blazor. Some of the big new features in this release of ASP.NET Core include: You can find all the details about what's new in ASP.NET Core in .NET Core 3.0 in the What's new in ASP.NET Core 3.0 topic. See the .NET Core 3.0 release notes for additional details and known issues. Get started To get started with ASP.NET Core in .NET Core 3.0 i...
Release Candidate builds of Entity Framework Core 3.0 and Entity Framework 6.3 are now available
We previously said that preview 9 would be your last chance to test EF Core 3.0 and EF 6.3 before general availability. But it turns out that we made enough improvements to our libraries and across the whole of .NET Core 3.0 to justify publishing a release candidate build. Hence the packages for EF Core 3.0 RC1 and EF 6.3 RC1 were uploaded to nuget.org today. Consider installing daily builds Although RC1 builds contain several improvements, we took several more critical bug fixes after the RC1 branch was created. Detailed instructions to install daily builds, including the necessary NuGet feeds, can be found i...
ASP.NET Core and Blazor updates in .NET Core 3.0 Release Candidate 1
.NET Core 3.0 Release Candidate 1 is now available! This release contains only a handful of bug fixes and closely represents what we expect to release for .NET Core 3.0.
Announcing .NET Core 3.0 Release Candidate 1
Today, we're announcing .NET Core 3.0 Release Candidate 1. Just like with Preview 9, we've focused on polishing .NET Core 3.0 for a final release. We are now getting very, very close. We intend to release the final version on September 23 at .NET Conf. Download .NET Core 3.0 RC1 on Windows, macOS, and Linux, available now. Details: Why RC1? The .NET Core 3.0 Preview 9 post stated that Preview 9 would be the last release before the final GA one. We, or at least the tireless writer of these blog posts, were mistaken. And now for the explanation. For technical and historical reasons, the .NET toolset (...
Finalization implementation details
Years ago I wrote a document on making finalization scanning concurrent. At the time there was an internal team that was using finalization as a way to resurrect objects and putting them back in their cache. While we’ve always advised to folks that finalization was for releasing native resources I couldn’t fault this team for using it the way they did. And of course finalization scanning was taking quite some time because well, there were so many finalizable objects to scan so I wanted to make this part concurrent. As part of the on-going latency reduction effort we’ve finally put this on the agenda. Of course be...
.NET Framework September 2019 Security and Quality Rollup
Today, we are releasing the September 2019 Cumulative Update, Security and Quality Rollup, and Security Only Update for .NET Framework. Security CVE-2019-1142– .NET Framework Elevation of Privilege Vulnerability An elevation of privilege vulnerability exists when the .NET Framework common language runtime (CLR) allows file creation in arbitrary locations. An attacker who successfully exploited this vulnerability could write files to folders that require higher privileges than what the attacker already has. To exploit the vulnerability, an attacker would need to log into a system. The attacker could then spe...
.NET Core September 2019 Updates – 2.1.13 and 2.2.7
Today, we are releasing the .NET Core September 2019 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Security CVE-2019-1302: ASP.NET Core Elevation Of Privilege Vulnerability Microsoft is releasing this security ...
GC Perf Infrastructure – Part 0
In this blog entry and some future ones I will be showing off functionalities that our new GC perf infrastructure provides. Andy and I have been working on it (he did all the work; I merely played the consultant role). We will be open sourcing it soon and I wanted to give you some examples of using it and you can add these to your repertoire of perf analysis techniques when it’s available. The general GC perf analysis flow on a customer scenario usually goes like this – 1) get a perf trace (ETW trace on Windows and event trace on Linux); 2A) if the customer has no complains and just wanted to see if they...
Announcing Entity Framework Core 3.0 Preview 9 and Entity Framework 6.3 Preview 9
Preview 9 your last chance to try Entity Framework Core 3.0 and Entity Framework 6.3 before we release the final versions later this month. Get a head start on everything that is new and please give us your feedback.
Announcing .NET Core 3.0 Preview 9
Today, we're announcing .NET Core 3.0 Preview 9. Just like with Preview 8, we've focused on polishing .NET Core 3.0 for a final release and aren't adding new features. If these final builds seem less exciting than earlier previews, that's by design. Download .NET Core 3.0 Preview 9 right now on Windows, macOS, and Linux. ASP.NET Core, EF Core and Visual Studio are also releasing updates today. Details: .NET Core 3.0 is launching at .NET Conf Tune in for .NET Conf, September 23-25th. We will launch .NET Core 3.0 during .NET Conf. Yes, that means that Preview 9 is the last preview, and .N...
ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 9
.NET Core 3.0 Preview 9 is now available and it includes a bunch of new updates to ASP.NET Core and Blazor. Check out the great new features and improvements in this release!
Hardware Intrinsics in .NET Core
Several years ago, we decided that it was time to support SIMD code in .NET. We introduced the System.Numerics namespace with , , , , and related types. These types expose a general-purpose API for creating, accessing, and operating on them using hardware vector instructions (when available). They also provide a software fallback for when the hardware does not provide the appropriate instructions. This enabled a number of common algorithms to be vectorized, often with only minor refactorings. However, the generality of this approach made it difficult for programs to take full advantage of all vector instructions ...
Announcing ML.NET 1.4 Preview and Model Builder updates (Machine Learning for .NET)
We are excited to announce ML.NET 1.4 Preview and updates to Model Builder and CLI. ML.NET is an open-source and cross-platform machine learning framework for .NET developers. ML.NET also includes Model Builder (a simple UI tool) and CLI to make it super easy to build custom Machine Learning (ML) models using Automated Machine Learning (AutoML). Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom ML into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Price Prediction, Sales Forecast prediction, I...
Join us for .NET Conf 2019, Sept 23-25
.NET Conf is back again this year and will be live streaming to a device near you September 23-25 on www.dotnetconf.net! .NET Conf is a FREE, 3 day virtual developer event co-organized by the .NET community and Microsoft. This year .NET Core 3.0 will launch at .NET Conf 2019! Come celebrate and learn about the new release. You won't want to miss this one. Here’s a sneak peak of what you can expect.
.NET Framework August 30, 2019 Cumulative Update for Windows 10 version 1903
The August 2019 Cumulative Update for .NET Framework 3.5 and 4.8 on Windows 10 version 1903 was released. Quality and Reliability This release contains the following quality and reliability improvements. Getting the Update The Cumulative Update is available via Windows Update, Windows Server Update Services (WSUS) and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. Previous Monthly Rollups The last .NET Framework update for Windows 10 version 1903 is listed below for your convenience:
How the .NET Team uses Azure Pipelines to produce Docker Images
Producing Docker images for .NET might not seem like that big of a deal. Once you’ve got a Dockerfile defined, just run "docker build" and "docker push" and you’re done, right? Then just rinse and repeat when new versions of .NET are released and that should be all that’s needed. Well, it’s not quite that simple. When you factor in the number of Linux distros and Windows versions, different processor architectures, and different .NET versions, you end up with a substantial matrix of images that need to be built and published. Then consider that some images have dependencies on others which implies a speci...
Redesigning Configuration Refresh for Azure App Configuration
Overview Since its inception, the .NET Core configuration provider for Azure App Configuration has provided the capability to monitor changes and sync them to the configuration within a running application. We recently redesigned this functionality to allow for on-demand refresh of the configuration. The new design paves the way for smarter applications that only refresh the configuration when necessary. As a result, inactive applications no longer have to monitor for configuration changes unnecessarily. Initial design : Timer-based watch In the initial design, configuration was kept in sync with Azure App C...
New and improved NuGet Search is here!
It’s been a long time coming, and today we are excited to announce the new and improved search on NuGet.org leveraging Azure Search. We want to start this post with a huge thanks to you, the NuGet community, for providing feedback. We have aggregated all feedback around search result relevance into one mega issue. We used this as the starting point and ensured the most egregious cases were fixed before we launched the side-by-side preview experience a few weeks ago. 70% of you voted that the new search is better! This was one of the key results in deciding to move forward leading up to today's release. Try the n...
Visual Studio Tips and Tricks: Increasing your Productivity for .NET
The .NET team is constantly thinking of new ways to make developers more productive. We've been working hard over the past year to take the feedback you've sent us and turn it into tools that you want! In this post I’ll cover some of the latest productivity features available in Visual Studio 2019 Preview. Code Fixes and Refactorings Code fixes and refactorings are the code suggestions the compiler provides through the lightbulb and screwdriver icons. To trigger the Quick Actions and Refactorings menu type (Ctrl + .) or (Alt + Enter). The list below contains the code fixes and refactorings that are new in Vis...
Messaging Practices
This post is a collection of content from David Boike from the Particular.net blog calling out some common problems and solutions for building message based distributed systems. They are relevant to anyone building apps using messaging, and anyone building a Microservice based solution should definitely be interested in the first post about slimming down events. It goes a long way towards avoiding unwanted coupling between services. Slimming down your events Anybody can write code that will work for a few weeks or months, but what happens when that code is no longer your daily focus and the cobwebs of time ...
Hey .NET! Have you tried ML.NET?
ML.NET is an open source and cross-platform machine learning framework made for .NET developers. Using ML.NET you can easily build custom machine learning models for scenarios like sentiment analysis, price prediction, sales forecasting, recommendation, image classification, and more. ML.NET 1.0 was released at //Build 2019, and since then the team has been working hard on adding more features and capabilities. Through the survey below, we would love to get feedback on how we can make your journey to infuse Machine Learning in your apps easier with .NET. Help shape and improve ML.NET for your needs by taking ...
.NET Framework August 2019 Preview of Quality Rollup
Today, we are releasing the August 2019 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. BCL1 1 Base Class Library (BCL) Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10, NET Framework 4.8 updates are available via Windows Update, Windows Server Update Services, Microsoft Update Catalog. Updates for other versions of .NET F...
.NET Core and systemd
In preview7 a new package was added to the `Microsoft.Extensions` set of packages that enables integration with systemd. For the Windows focused, systemd allows similar functionality to Windows Services, there is a post on how to do what we discuss here for Windows Services in this post. This work was contributed by Tom Deseyn from Red Hat. In this post we will create a .NET Core app that runs as a systemd service. The integration makes systemd aware when the application has started/is stopping, and configures logs to be sent in a way that journald (the logging system of systemd) understands log priorities. Cr...
.NET Framework 4.8 is available on Windows Update, WSUS and MU Catalog
01/14/2020: This post has been updated with information about the Microsoft .NET Framework 4.8 for Windows Updates released on January 14, 2020 via Windows Update/WSUS/Catalog to include the servicing fixes since the .NET Framework 4.8 August 2019 Windows Update. Apart from the servicing fixes, there is no change in the .NET Framework 4.8 product from the August 13th, 2019 Windows update. Please see the FAQ section below for additional information about this refresh and the Cumulative update blogposts for details on the servicing fixes. We are happy to announce that Microsoft .NET Framework 4.8 has been refreshe...
Announcing .NET Core 3.0 Preview 8
Today, we are announcing .NET Core 3.0 Preview 8. Just like with Preview 7, we've focused on polishing .NET Core 3.0 for a final release and are not adding new features. If these final previews seem anti-climatic, that's by design. Download .NET Core 3.0 Preview 8 right now on Windows, macOS and Linux. ASP.NET Core and EF Core are also releasing updates today. Details: The Microsoft .NET Site has been updated to .NET Core 3.0 Preview 8 (see the .NET Core runtime version in the footer text). It's been running successfully on Preview 8 for over two weeks, on Azure WebApps (as a self-contai...
Announcing Entity Framework Core 3.0 Preview 8 and Entity Framework 6.3 Preview 8
The Preview 8 versions of the EF Core 3.0 package and the EF 6.3 package are now available for download from nuget.org. New previews of .NET Core 3.0 and ASP.NET Core 3.0 are also available today. Please install these previews to validate that all the functionality required by your applications is available and works correctly. Please report any issues you find as soon as possible to either the EF Core issue tracker or the EF 6 issue tracker on GitHub. At this point, we are especially interested in hearing about any unexpected issues blocking you from upgrading to the new releases, but you are also w...
ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 8
.NET Core 3.0 Preview 8 is now available and it includes a bunch of new updates to ASP.NET Core and Blazor. Check out the great new features and improvements in this release!
Azure SignalR Service now supports Event Grid!
We just released a new feature which enables Azure SignalR Service to publish connection events to Azure Event Grid. Check out this blog post to learn how it works and how to use it.
Update on .NET Standard adoption
It's about two years ago that I announced .NET Standard 2.0. Since then we've been working hard to increase the set of .NET Standard-based libraries for .NET. This includes many of the BCL components, such as the Windows Compatibility Pack, but also other popular libraries, such as the JSON.NET, the Azure SDK, or the AWS SDK. In this blog post, I'll share some thoughts and numbers about the .NET ecosystem and .NET Standard. Adoption by the numbers In order to track adoption, we're looking at nuget.org. On a regular interval, we check whether new package versions add support for .NET Standard. Once a package ID ...
Calling all .NET desktop and mobile developers!
We would love to hear about your experience with building client applications in .NET. Your feedback will greatly help us to improve the .NET tooling and ensure our roadmap focuses on your needs. Participate in shaping the future of the .NET client development by taking this short survey (5 minutes to complete). We are also searching for developers to discuss new concepts and prototypes, so tell us in the survey if you would like .NET engineering team to reach out to you about upcoming opportunities in .NET UI development. Take survey! We really appreciate your input and will build our decision on th...
Try out Nullable Reference Types
Try out Nullable Reference Types With the release of .NET Core 3.0 Preview 7, C# 8.0 is considered "feature complete". That means that the biggest feature of them all, Nullable Reference Types, is also locked down behavior-wise for the .NET Core release. It will continue to improve after C# 8.0, but it is now considered stable with the rest of C# 8.0. At this time, our aim is to collect as much feedback about the process of adopting nullability as possible, catch any issues, and collect feedback on further improvements to the feature that we can do after .NET Core 3.0. This is one of the largest featu...
Improving .NET Core installation in Visual Studio and on Windows
Visual Studio 2019 version 16.3 and .NET Core 3.0 Preview 7 improve the installation experience of .NET Core on Windows. The goal is to reduce the number of .NET Core versions that might be on a machine. The improvements are based on customer feedback and our own experiences as well as laying the groundwork for future improvements. .NET Core SDK installer for Windows Let's start with the .NET Core SDK installer. Install now removes previous versions Starting with .NET Core 3.0 Preview 7, the .NET Core SDK installer will remove previous patch versions after a successful installation. This means that if you hav...
HttpRepl: A command-line tool for interacting with RESTful HTTP services
The ASP.NET team has built a command-line tool called HttpRepl. It lets you browse and invoke HTTP services in a similar way to working with files and folders. You give it a starting point (a base URL) and then you can execute commands like “dir” and “cd” to navigate your way around the API: Once you have identified the API you are interested in, you can use all the typical HTTP verbs against it. Here is an example of calling GET on http://localhost:65369/People as a continuation from before: Right now HttpRepl is being shipped as a .NET Core Global Tool, which means all you have to do to get it is run the ...
Announcing Entity Framework Core 3.0 Preview 7 and Entity Framework 6.3 Preview 7
Today, we are making new previews of EF Core 3.0 and EF 6.3 available on nuget.org. .NET Core 3.0 Preview 7 and ASP.NET Core 3.0 Preview 7 were also made available today. We encourage you to install these previews to try the new features, and to validate that all the functionality required by your applications is available and works correctly. As always, we hope you'll report any issues you find on GitHub. What is new in EF Core 3.0 Preview 7 Query improvements In this preview, we have made a lot of progress towards the completion of our new LINQ implementation. For example, the translation of GroupBy, a...
Announcing .NET Core 3.0 Preview 7
Today, we are announcing .NET Core 3.0 Preview 7. We've transitioned from creating new features to polishing the release. Expect a singular focus on quality for the remaining preview releases. Download .NET Core 3.0 Preview 7 right now on Windows, macOS and Linux. ASP.NET Core and EF Core are also releasing updates today. Visual Studio users need Visual Studio 2019 16.3 Preview 1 to use .NET Core 3.0 Preview 7. The Microsoft .NET Site has been updated to .NET Core 3.0 Preview 7 (see the version displayed in the website footer). It's been running successfully on Preview 7 for over two...
ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 7
.NET Core 3.0 Preview 7 is now available and it includes a bunch of new updates to ASP.NET Core and Blazor. Check out the great new features and improvements in this release!
Surfacing GitHub Usage for packages on NuGet.org
Update: This feature has been enhanced. Read about the latest version. There are several criteria you can use today to evaluate NuGet packages. We received feedback that you would like even more information to help choose the right packages. We're excited to introduce GitHub Usage on nuget.org, which allows you to explore top GitHub repositories that depend on the package you are looking at. Why surface GitHub Usage? Part of determining a package's trust and popularity is to know if the package is being used, who is using it, and how are they using it. A NuGet package depended by a popular GitHub project is...
Announcing ML.NET 1.2 and Model Builder updates (Machine Learning for .NET)
We are excited to announce ML.NET 1.2 and updates to Model Builder and the CLI. ML.NET is an open-source and cross-platform machine learning framework for .NET developers. ML.NET also includes Model Builder (a simple UI tool for Visual Studio) and the ML.NET CLI (Command-line interface) to make it super easy to build custom Machine Learning (ML) models using Automated Machine Learning (AutoML). Using ML.NET, developers can leverage their existing tools and skill-sets to develop and infuse custom ML into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, ...
Write Better Code Faster with Roslyn Analyzers
Roslyn, the .NET compiler platform, helps you catch bugs even before you run your code. One example is Roslyn’s spellcheck analyzer that is built into Visual Studio. Let’s say you are creating a static method and misspelled the word static as statc. You will be able to see this spelling error before you run your code because Roslyn can produce warnings in your code as you type even before you’ve finished the line. In other words, you don’t have to build your code to find out that you made a mistake. Roslyn analyzers can also surface an automatic code fix through the Visual Studio light bulb icon that allow...
.NET Core July 2019 Updates – 2.1.12 and 2.2.6
Today, we are releasing the .NET Core July 2019 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Security CVE-2019-1075: ASP.NET Core Spoofing Vulnerability Microsoft is releasing this security advisory to pro...
.NET Framework July 2019 Security and Quality Rollup
Today, we are releasing the July 2019 Cumulative Update, Security and Quality Rollup, and Security Only Update for .NET Framework. Security CVE-2019-1006 – WCF/WIF SAML Token Authentication Bypass Vulnerability An authentication bypass vulnerability exists in Windows Communication Foundation (WCF) and Windows Identity Foundation (WIF), allowing signing of SAML tokens with arbitrary symmetric keys. This vulnerability allows an attacker to impersonate another user, which can lead to elevation of privileges. The vulnerability exists in WCF, WIF 3.5 and above in .NET Framework, WIF 1.0 component in Windows, WIF Nu...
Configuring a Server-side Blazor app with Azure App Configuration
In this post, we'll take a look at how we can extract configuration values out of JSON files and into an Azure App Configuration instance, where they can be used by other teammates or apps.
.NET Framework June 27, 2019 Cumulative Update for Windows 10 version 1903
Today, we released the June 2019 Cumulative Update for .NET Framework 3.5 and 4.8 on Windows 10 version 1903. Quality and Reliability This release contains the following quality and reliability improvements. Getting the Update The Cumulative Update is available via Windows Update, Windows Server Update Services (WSUS) and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. Previous Monthly Rollups The last .NET Framework update for Windows 10 version 1903 is listed below for your convenience:
Help us shape the future of .NET for Apache Spark
Apache Spark™ is a general-purpose distributed processing engine for analytics over large data set typically terabytes or petabytes of data. Apache Spark can be used for processing batches of data, real-time streams, machine learning, and ad-hoc query. So far Spark has been accessible through Scala, Java, Python and R but not .NET. At Spark + AI summit earlier this year, we released .NET for Apache Spark which makes Spark accessible to .NET developers. The initial reception for .NET for Apache Spark has been very positive and as we build .NET for Apache Spark in the open we would love to get your feedback. ...
Create interactive documentation with the new Try .NET template
In our previous post, we announced a global tool which allows developers to create interactive workshops and documentation. Tutorials created with let users start learning without having to install an editor. Features like IntelliSense and live diagnostics give users a sophisticated learning and editing experience. Today, we are releasing a new template called . This template can be installed next to existing templates. It creates a project and associated files to help content authors understand the basics of . This can serve as the foundation of your own awesome documentation! Setup Before you get started w...
Forwarded Headers Middleware Updates in .NET Core 3.0 preview 6
With the updates in .NET Core 3 preview 6, the host logic has been pre-wired to enable the Forwarded Headers Middleware by default as long as the `ASPNETCORE_FORWARDEDHEADERS_ENABLED` environment variable has been set to `true`. This post goes into some detail on how this can fix potential HTTPS issues when behind a reverse proxy.
.NET Framework June 2019 Preview of Quality Rollup
Today, we are releasing the June 2019 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. WPF1 ASP.NET Workflow <appSettings> <add key="microsoft:WorkflowServices:TerminateOnUnhandledExceptionDuringCancel" value="true"/> </appSettings> 1 Windows Presentation Foundation (WPF) Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalo...
The Evolving Infrastructure of .NET Core
A deep dive into the infrastructure of .NET Core. Challenges, changes and the future.
Announcing Entity Framework Core 3.0 Preview 6 and Entity Framework 6.3 Preview 6
New previews of the next versions of EF Core and EF 6 are now available on NuGet.Org. What is new in EF Core 3.0 Preview 6 In recent months, a lot of our efforts have been focused on a new LINQ implementation for EF Core 3.0. Although the work isn't complete and a lot of the intended functionality hasn't been enabled, before preview 6 we reached a point in which we couldn't make much more progress without integrating the new implementation into the codebase in the main branch. Query changes IMPORTANT: Although as always, we want to encourage you to experiment with our preview bits in a controlled environment ...
Try the new System.Text.Json APIs
For .NET Core 3.0, we're shipping a brand new namespace called System.Text.Json with support for a reader/writer, a document object model (DOM), and a serializer. In this blog post, I'm telling you why we built it, how it works, and how you can try it. We also have a video: Getting the new JSON library The future of JSON in .NET Core 3.0 JSON has become an essential part of virtually all modern .NET applications and in many cases even surpassed the usage of XML. However, .NET hasn't had a (great) built-in way to deal with JSON. Instead, we've relied on Json.NET until now, which continues t...
ASP.NET Core and Blazor updates in .NET Core 3.0 Preview 6
.NET Core 3.0 Preview 6 is now available and includes a bunch of new updates to ASP.NET Core and Blazor. Find out what's new in this latest preview release.
Announcing .NET Core 3.0 Preview 6
Today, we are announcing .NET Core 3.0 Preview 6. It includes updates for compiling assemblies for improved startup, optimizing applications for size with linker and EventPipe improvements. We've also released new Docker images for Alpine on ARM64. Download .NET Core 3.0 Preview 6 right now on Windows, macOS and Linux. Release notes have been published at dotnet/core. An API diff between Preview 5 and 6 is also available. ASP.NET Core and EF Core are also releasing updates today. If you missed it, check out the improvements we released in .NET Core 3.0 Preview 5, from last month. WPF and Windows Form...
Announcing ML.NET 1.1 and Model Builder updates (Machine Learning for .NET)
ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. ML.NET offers Model Builder Model Builder (a simple UI tool for Visual Studio) and CLI to make it super easy to build custom ML Models using AutoML. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!. Today we’re announcing ML.NET 1.1 which includes updates for ML.NET (v1.0 was rele...
Migrating a Sample WPF App to .NET Core 3 (Part 2)
In part 1 of this blog series, I began the process of porting a sample WPF app to .NET Core. In that post, I described the .NET Core migration process as having four steps: We previously went through the first two steps - reviewing the app and its dependencies (including NuGet dependencies and a .NET Portability Analyzer report), updating NuGet package references, and migrating the project file. In this post, we'll complete the migration by making the necessary code changes to get the app building and running against .NET Core 3. Step 3: Fix build issues The third step of the porting process is getting the p...
Migrating a Sample WPF App to .NET Core 3 (Part 1)
Olia recently wrote a post about how to port a WinForms app from .NET Framework to .NET Core. Today, I'd like to follow that up by walking through the steps to migrate a sample WPF app to .NET Core 3. Many of these steps will be familiar from Olia's post, but I've tried to differentiate this one by including some additional common dependencies that users are likely to run into like WCF client usage or third-party UI packages. To keep this post from being too long, I will split it into two parts. In this first part, we'll prepare for migration and create a new csproj file for the .NET Core version of the app. I...
Supporting the community with WF and WCF OSS projects
At the Build conference in May 2019, we mentioned that, after we add WinForms, WPF and Entity Framework 6 to .NET Core 3.0, we do not plan to add any more of the technologies from .NET Framework to .NET Core. This means we will not be adding ASP.NET Web Forms, WCF, Windows Workflow, .NET Remoting and/or the various other smaller APIs to .NET Core. For new applications, there are better technologies that serve a similar purpose and provide more capabilities or better experiences. We think of .NET Core as the framework our customers will build brand new applications or port applications that they are still spend...
What’s new in Azure SignalR 1.1.0 Preview 1
We just shipped 1.1.0 Preview 1 of Azure SignalR Service SDK to support some new features in ASP.NET Core 3.0, including endpoint routing and server-side Blazor. Let's take a look how you can use them in your Azure SignalR application. Here is the list of what's new in this release: Endpoint routing support for ASP.NET Core 3 For those who are using Azure SignalR, you should be familiar with and . These two methods are required if you want to switch your app server from self-hosted SignalR to use Azure SignalR. A typical Azure SignalR application usually looks like this in Startup.cs (note where ...
Porting desktop apps to .NET Core
Since I've been working with the community on porting desktop applications from .NET Framework to .NET Core, I've noticed that there are two camps of folks: some want a very simple and short list of instructions to get their apps ported to .NET Core while others prefer a more principled approach with more background information. Instead of writing up a "Swiss Army knife"-document, we are going to publish two blog posts, one for each camp: If you prefer watching videos instead of reading, here is the video where I do everything that is described below. Step 0 - Prerequisites To port your desktop...
The F# development home on GitHub is now dotnet/fsharp
TL;DR We've moved the F# GitHub repository from microsoft/visualfsharp to dotnet/fsharp, as specified in the corresponding RFC. F# has a somewhat strange history in its name and brand. If we roll back the clocks to the year 2015, F# sort of had two identities. One side of this was Visual F#, or "VisualFSharp"; a product within Visual Studio comprised of a compiler and tooling that you could use on Windows. The other side was F#, or "FSharp"; an independent language with a roaring community that built F# tools, a library ecosystem, and multiple packagings of F# independently of Microsoft. Although this d...
Create Interactive .NET Documentation with Try .NET
Try .NET is an interactive documentation generator for .NET Core. Using the dotnet try global tool you can now create interactive documentation too. This is an early preview of the dotnet try global tool so, please check our repository and NuGet package for regular updates.
Performance Improvements in .NET Core 3.0
Take a tour through some of the many improvements, big and small, that have gone into the .NET Core 3.0 runtime and core libraries to make apps and services leaner and faster.
Default implementations in interfaces
Default implementations in interfaces With last week's posts Announcing .NET Core 3.0 Preview 5 and Visual Studio 2019 version 16.1 Preview 3, the last major feature of C# 8.0 is now available in preview. A big impediment to software evolution has been the fact that you couldn't add new members to a public interface. You would break existing implementers of the interface; after all they would have no implementation for the new member! Default implementations help with that. An interface member can now be specified with a code body, and if an implementing class or struct does not provide an implementation o...
.NET Core May 2019 Updates – 1.0.16, 1.1.14, 2.1.11 and 2.2.5
Today, we are releasing the .NET Core May 2019 Update. These updates contain security and reliability fixes. See the individual release notes for details on updated packages. NOTE: If you are a Visual Studio user, there are MSBuild version requirements so use only the .NET Core SDK supported for each Visual Studio version. Information needed to make this choice will be seen on the download page. If you use other development environments, we recommend using the latest SDK release. Security CVE-2019-0820: .NET Core Tampering Vulnerability Microsoft is releasing this security advisory to pr...
.NET Framework May 2019 Security and Quality Rollup
Today, we are releasing the May 2019 Cumulative Update, Security and Quality Rollup, and Security Only Update. Security CVE-2019-0820 – Denial of Service Vulnerability A denial of service vulnerability exists when .NET Framework and .NET Core improperly process RegEx strings. An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET application. A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to a .NET Framework (or .NET core) application. The update addresses the vulnerability by correcting how .NET Framewo...
Introducing the new Microsoft.Data.SqlClient
This post was written by Vicky Harp, Program Manager on SqlClient and SQL Server Tools. Those of you who have been following .NET development closely have very likely seen Scott Hunter's latest blog post, .NET Core is the Future of .NET. The change in focus of .NET Framework towards stability and new feature development moving to .NET Core means SQL Server needs to change in order to continue to provide the latest SQL features to .NET developers in the same timely manner that we have done in the past. System.Data.SqlClient is the ADO.NET provider you use to access SQL Server or Azure SQL Databases. Historically ...
Announcing Entity Framework 6.3 Preview with .NET Core Support
The first preview of the EF 6.3 runtime is now available in NuGet. Note that the package is versioned as 6.3.0-preview5. We plan to continue releasing previews of EF 6.3 every month in alignment with the .NET Core 3.0 previews, until we ship the final version. What is new in EF 6.3? While Entity Framework Core was built from the ground up to work on .NET Core, 6.3 will be the first version of EF 6 that can run on .NET Core and work cross-platform. In fact, the main goal of this release is to facilitate migrating existing applications that use EF 6 to .NET Core 3.0. When completed, EF 6.3 will also have su...
Introducing diagnostics improvements in .NET Core 3.0
In .NET Core 3.0, we are introducing a suite of tools that utilize new features in the .NET runtime that make it easier to diagnose and solve performance problems. These runtime features help you answer some common diagnostic questions you may have: Is my application healthy? Often times an application can slowly start leaking memory and eventually result in an out of memory exception. Other times, certain problematic code paths may result in a spike in CPU utilization. These are just some of the classes of problem you can pro-actively identify with metrics. Metrics Metrics are a representa...
.NET Core is the Future of .NET
We introduced .NET Core 1.0 on November 2014. The goal with .NET Core was to take the learning from our experience building, shipping and servicing .NET Framework over the previous 12 years and build a better product. Some examples of these improvements are side-by-side installations (you can install a new version and not worry about breaking existing apps), self-contained applications (applications can embed .NET, so .NET does not need to be on the computer), not being a component of the Windows operating system (.NET ships new releases independent of the OS schedule) and many more. On top of this, we made .NET ...
Announcing ML.NET 1.0
We are excited to announce the release of ML.NET 1.0 today. ML.NET is a free, cross-platform and open source machine learning framework designed to bring the power of machine learning (ML) into .NET applications. https://github.com/dotnet/machinelearning Star Get Started @ http://dot.net/ml ML.NET allows you to train, build and ship custom machine learning models using C# or F# for scenarios such as sentiment analysis, issue classification, forecasting, recommendations and more. You can check out these common scenarios and tasks at our ML.NET samples repo. ML.NET was originally developed within ...
Announcing .NET Core 3.0 Preview 5
Today, we are announcing .NET Core 3.0 Preview 5. It includes a new Json serializer, support for publishing single file executables, an update to runtime roll-forward, and changes in the BCL. If you missed it, check out the improvements we released in .NET Core 3.0 Preview 4, from last month. Download .NET Core 3.0 Preview 5 right now on Windows, macOS and Linux. ASP.NET Core and EF Core are also releasing updates today. WPF and Windows Forms Update You should see a startup performance improvement for WPF and Windows Forms. WPF and Windows Forms assemblies are now ahead-of-time compiled, with crossgen. We...
ASP.NET Core updates in .NET Core 3.0 Preview 5
ASP.NET Core updates in .NET Core 3.0 Preview 5 .NET Core 3.0 Preview 5 is now available. This iteration was brief for the team and primarily includes bug fixes and improvements to the more significant updates in Preview 4. This post summarizes the important points in this release. Please see the release notes for additional details and known issues. Get started To get started with ASP.NET Core in .NET Core 3.0 Preview 5 install the .NET Core 3.0 Preview 5 SDK. If you're on Windows using Visual Studio, you also need to install the latest preview of Visual Studio. Upgrade an existing project To upgrade an ex...
Introducing .NET 5
Today, we're announcing that the next release after .NET Core 3.0 will be .NET 5. This will be the next big release in the .NET family. There will be just one .NET going forward, and you will be able to use it to target Windows, Linux, macOS, iOS, Android, tvOS, watchOS and WebAssembly and more. We will introduce new .NET APIs, runtime capabilities and language features as part of .NET 5. From the inception of the .NET Core project, we've added around fifty thousand .NET Framework APIs to the platform. .NET Core 3.0 closes much of the remaining capability gap with .NET Framework 4.8, enabling Windows...
Using .NET and Docker Together – DockerCon 2019 Update
DockerCon 2019 is being held this week, in San Francisco. We posted a DockerCon 2018 update last year, and it is time to share how we've improved the experience of using .NET and Docker together over the last year. We have a group of .NET Core team members attending the conference again this year. Please reach out @ dotnet@microsoft.com if you want to meetup. Most of our effort to improve the .NET Core Docker experience in the last year has been focused on .NET Core 3.0. This is the first release in which we've made substantive runtime changes to make CoreCLR much more efficient, honor Docker resource limit...
Azure SignalR Service now supports ASP.NET!
Azure SignalR Service is a fully managed real-time messaging service, built on ASP.NET Core SignalR. ASP.NET Core SignalR has many features incompatible with ASP.NET SignalR, so existing ASP.NET SignalR Application doesn't work with SignalR Service. We added the ASP.NET support to SignalR Service SDK to enable this scenario. This blog also lists features that are no longer supported and provides references on documents and code samples.
Introducing .NET for Apache® Spark™ Preview
Today at Spark + AI summit we are excited to announce .NET for Apache Spark. Spark is a popular open source distributed processing engine for analytics over large data sets. Spark can be used for processing batches of data, real-time streams, machine learning, and ad-hoc query. .NET for Apache Spark is aimed at making Apache® Spark™ accessible to .NET developers across all Spark APIs. So far Spark has been accessible through Scala, Java, Python and R but not .NET. We plan to develop .NET for Apache Spark in the open (as a .NET Foundation member project) along with the Spark and .NET community to ensur...
Upcoming Updates for .NET Framework 4.8
Upcoming Updates for .NET Framework 4.8 The .NET Framework 4.8 product release is now available. The .NET Framework 4.8 product will receive updates on the same cadence and the usual channels (Windows Update, WSUS, Catalog) as all .NET Framework and Windows cumulative updates. For Windows 10, .NET Framework 4.8 updates will now be delivered as independent updates, alongside the Windows cumulative updates. In this post, I explain how updates to .NET Framework 4.8 are delivered so you are ready for them. What is new about .NET Framework 4.8 updates? Updates for .NET Framework 4.8 on Windows 10...
Announcing Entity Framework Core 3.0 Preview 4
Today, we are making the fourth preview of Entity Framework Core 3.0 available on NuGet, alongside .NET Core 3.0 Preview 4 and ASP.NET Core 3.0 Preview 4. We encourage you to install this preview to test the new functionality and assess the impact of the included breaking changes. What’s new in EF Core 3.0 Preview 4? This preview includes more than 50 bug fixes and functional enhancements. You can query our issue tracker for the full list of issues fixed in Preview 4, as well as for the issues fixed in Preview 3, and Preview 2. Some of the most important changes are: LINQ queries are no longer evaluated on ...
Announcing .NET Core 3 Preview 4
Today, we are announcing .NET Core 3.0 Preview 4. It includes a chart control for Windows Forms, HTTP/2 support, GC updates to use less memory, support for CPU limits with Docker, the addition of PowerShell in .NET Core SDK Docker container images, and other improvements. If you missed it, check out the improvements we released in .NET Core 3.0 Preview 3 just last month. Download .NET Core 3 Preview 4 right now on Windows, macOS and Linux. ASP.NET Core and Entity Framework Core updates are also being released today. The preview version of Visual Studio 2019 Update 1 is highly recommended for .NET Core 3.0 ...
ASP.NET Core updates in .NET Core 3.0 Preview 4
.NET Core 3.0 Preview 4 is now available and it includes a bunch of new updates to ASP.NET Core. Find out what's new in this latest preview release.
Blazor now in official preview!
With this newest Blazor release we're pleased to announce that Blazor is now in official preview! Blazor is no longer experimental and we are committing to ship it as a supported web UI framework including support for running client-side in the browser on WebAssembly. A little over a year ago we started the Blazor experimental project with the goal of building a client web UI framework based on .NET and WebAssembly. At the time Blazor was little more than a prototype and there were lots of open questions about the viability of running .NET in the browser. Since then we've shipped nine experimental Blazor release...
Updated Razor support in Visual Studio Code, now with Blazor support
Today we are pleased to announce improved Razor tooling support in Visual Studio Code with the latest C# extension. This latest release includes improved Razor diagnostics and support for tag helpers and Blazor apps.
Announcing the .NET Framework 4.8
We are thrilled to announce the release of the .NET Framework 4.8 today. It’s included in the Windows 10 May 2019 Update. .NET Framework 4.8 is also available on Windows 7+ and Windows Server 2008 R2+. You can install .NET 4.8 from our .NET Download site. For building applications targeting .NET Framework 4.8, you can download the NET 4.8 Developer Pack. If you just want the .NET 4.8 runtime, you can try: The .NET Framework 4.8 includes an updated toolset as well as improvements in several areas: You can see the complete list of improvements in the .NET Framework 4.8 r...
.NET Core Workers in Azure Container Instances
In .NET Core 3.0 we are introducing a new type of application template called Worker Service. This template is intended to give you a starting point for writing long running services in .NET Core. In this walkthrough you'll learn how to use a Worker with Azure Container Registry anAzure Container Instances to get your Worker running as a microservice in the cloud.
NuGet Spring 2019 Roadmap
We published our last NuGet roadmap in June last year. Many of the features announced were major additions to NuGet and we have been hard at work to implement those over the last few months. In this post, we will start by summarizing the features we have completed and then peek into the next wave of work planned. Looking back Here are some features that were announced in our last roadmap blog post and have since been released. Cross-platform credential provider support for Azure Artifacts Status: Implemented | Documentation Before, there was no easy way to restore packages on Linux or macOS if you used Azure...
.NET Core April 2019 Updates – 2.1.10 and 2.2.4
Today, we are releasing the .NET Core April 2019 Update. These updates contain security and reliability fixes. See the individual release notes for details on included fixes. Security Microsoft Security Advisory CVE-2019-0815: ASP.NET Core Denial of Service Vulnerability A denial of service vulnerability exists in ASP.NET Core 2.2 where, if an application is hosted on Internet Information Server (IIS) a remote unauthenticated attacker can use a specially crafted request to cause a Denial of Service. The vulnerability affects any Microsoft ASP.NET Core 2.2 applications if it is hosted on an IIS s...
A portable way to get GC events in process and no admin privilege with 10 lines of code (and ability to dynamically enable/disable events)
I’ve been talking about doing managed heap performance analysis with ETW events for ages because ETW is just such a powerful tool. It has a well defined format so many components, from kernel modes to user mode ones, all emit ETW events which means you can have tools that just know how to parse the event format and correlate them. At Microsoft perf teams have analysis that tells you “this long request took X ms and X0 ms was due to a kmode component0, X1 ms was due to a umode component1 and etc” by interpreting ETW events. This is immensely useful. However, you do need admin privilege to turn on ETW events whi...
Announcing ML.NET 1.0 RC – Machine Learning for .NET
ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!. Today we’re announcing the ML.NET 1.0 RC (Release Candidate) (version ) which is the last preview release before releasing the final ML.NET 1.0 RTM in 2019 Q2 calendar year. Soon we will be ending the first main milestone of a great...
Web and Azure Tool Updates in Visual Studio 2019
Hopefully by now you’ve seen that [Visual Studio 2019 is now generally available][1]. As you would expect, we’ve added improvements for web and Azure development. As a starting point, Visual Studio 2019 comes with [a new experience for getting started with your code][2] and we updated the experience for creating ASP.NET and ASP.NET Core projects to match:
Making CPU configuration better for GC on machines with > 64 CPUs
If you are running Windows on a machine with > 64 CPUs, you’ll need to use this feature called the CPU groups for your process to be able to use more than 64 CPUs. At some point in the far distant past, people thought having more than 64 processors on a machine was inconceivable so they used a 64-bit number for the processor mask. And when 64-proc machines became available, Windows invented this CPU group concept for such machines which says processors are now belong to different CPU groups where each group has no more than 64 procs. Eg, on a machine with 96 procs you will see 2 groups with 48 procs each. When a ...
.NET Framework April 2, 2019 Cumulative Update for Windows 10 version 1809 and Windows Server 2019
Today, we released the March 2019 Update for Windows 10 version 1809 and Windows Server 2019. Quality and Reliability This release contains the following quality and reliability improvements. CLR Getting the Update The Update is available via Windows Server Update Services and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. The following table is for Windows 10 version 1809 and Windows Server 2019. Previous Monthly Rollups The last few .NET Framework Monthly updates are listed below for your convenience: ...
Visual Studio 2019 .NET productivity
Your friendly neighborhood .NET productivity team (aka. Roslyn) focuses a lot on improving the .NET coding experience. Sometimes it’s the little refactorings and code fixes that really improve your workflow. You may have seen many improvements in the previews, but for all of you who were eagerly awaiting the GA release here’s a few features you may enjoy! Tooling improvements I’m most excited about the new Roslyn classification colors. Visual Studio Code colors received high praise so we incorporated similar color schemes into Visual Studio. Your code editor is now just a little more colorful. Key words, user m...
Handling a new era in the Japanese calendar in .NET
Typically, calendar eras represent long time periods. In the Gregorian calendar, for example, the current era spans (as of this year) 2,019 years. In the Japanese calendar, however, a new era begins with the reign of a new emperor. On April 30, 2019, Emperor Akihito is expected to abdicate, which will bring to an end the Heisei era. On the following day, when his successor becomes emperor, the Reiwa era, a new era in the Japanese calendar, will begin. It is the first transition from one era to another in the history of .NET, and the first change of eras in the Japanese calendar since Emperor Akihito's accession i...
Announcing F# 4.6
We're excited to announce general availability of F# 4.6 and the F# tools for Visual Studio 2019! In this post, I'll show you how to get started, explain the F# 4.6 feature set, give you an update on the F# tools for Visual Studio, and talk about what we're doing next. F# 4.6 was developed entirely via an open RFC (requests for comments) process. The F# community has offered very detailed feedback in discussions for this version of the language. You can view all RFCs that correspond with this release here: Get started First, install either: If you are a Visual Studio user, you wi...
.NET Core Workers as Windows Services
In .NET Core 3.0 we are introducing a new type of application template called Worker Service. This template is intended to give you a starting point for writing long running services in .NET Core. In this walkthrough we will create a worker and run it as a Windows Service. Create a worker Preview Note: In our preview releases the worker template is in the same menu as the Web templates. This will change in a future release. We intend to place the Worker Service template directly inside the create new project wizard. Create a Worker in Visual Studio Create a Worker on the command line Run Run as a W...
Migrating Delegate.BeginInvoke Calls for .NET Core
I recently worked with a couple customers migrating applications to .NET Core that had to make code changes to workaround and methods on delegates not being supported on .NET Core. In this post, we'll look at why these APIs aren't implemented for .NET Core, why their usage isn't caught by the .NET API Portability Analyzer, and how to fix code using them to work with .NET Core. About the APIs As explained in .NET documentation, the method on delegate types allows them to be invoked asynchronously. immediately (without waiting for the delegate to complete) returns an object that can be used later (by calling...
Re-reading ASP.Net Core request bodies with EnableBuffering()
This post describes the EnableBuffering() extension method which enable re-reading of ASP.NET Core request body.
.NET Framework March 2019 Update
Today, we released the March 2019 Update. Quality and Reliability This release contains the following quality and reliability improvements. CLR Getting the Update The Update is available via Windows Server Update Services and Microsoft Update Catalog. Microsoft Update Catalog You can get the update via the Microsoft Update Catalog. For Windows 10 update 1607, Windows 10 update 1703, Windows 10 update 1709 and Windows update 1803, the .NET Framework updates are part of the Windows 10 Monthly Rollup. The following table is for Windows 10 and Windows Server 2016+ versions. The fo...
.NET Core Container Images now Published to Microsoft Container Registry
We are now publishing .NET Core container images to Microsoft Container Registry (MCR). We have also made other changes to the images we publish, described in this post. Important: You will need to change statements in files and commands as a result of these changes. 3.0 references need to be changed now. Most 1.x and 2.x usages can be changed over time. The new tag scheme is decribed in this post and are provided at the microsoft-dotnet-core repo, our new home on Docker Hub. Summary of changes: Microsoft Container Registry (MCR) Microsoft teams are now publishing container images t...
.NET Core March 2019 Updates – 1.0.15, 1.1.12, 2.1.9 and 2.2.3
Today, we are releasing the .NET Core March 2019 Update. These updates contain security and reliability fixes. See the individual release notes for details on included reliability fixes. Security Microsoft Security Advisory CVE-2019-0757: .NET Core NuGet Tampering Vulnerability A tampering vulnerability exists in NuGet software when executed in a Linux or Mac environment. An attacker who successfully exploited the vulnerability could run arbitrary code in the context of the current user. If the current user is logged on with administrative user rights, an attacker could take control of the ...
Announcing ML.NET 0.11 – Machine Learning for .NET
ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models for common scenarios like Sentiment Analysis, Recommendation, Image Classification and more!. Today we’re announcing the release of ML.NET 0.11. (ML.NET 0.1 was released at //Build 2018). This release, and all other remaining releases before the v1.0 release, will focus on the overall stability of the framework, continuing to r...
Blazor 0.9.0 experimental release now available
Blazor 0.9.0 is now available! Try out the new support for forms & validation and the improved event handling.
Announcing .NET Core 3 Preview 3
Today, we are announcing .NET Core 3.0 Preview 3. We would like to update you on the .NET Core 3.0 schedule and introduce you to improvements in .NET Core SDK installers, Docker containers, Range, and Index. We also have updates on the Windows Desktop and Entity Framework projects. Download and get started with .NET Core 3 Preview 3 right now on Windows, macOS and Linux. You can see complete details of the release in the .NET Core 3 Preview 3 release notes. .NET Core 3.0 will be supported in Visual Studio 2019, Visual Studio for Mac and Visual Studio Code. You need to enable Use previews of the .NET C...
ASP.NET Core updates in .NET Core 3.0 Preview 3
Check out the new ASP.NET Core features now available with .NET Core 3.0 Preview 3. Improvements to Razor Components, new templates for gRPC and Worker Services, SPA authentication, SignalR improvements and much more!
Floating-Point Parsing and Formatting improvements in .NET Core 3.0
Starting back with the .NET Core 2.1 release, we were making iterative improvements to the floating-point parsing and formatting code in .NET Core. Now, in .NET Core 3.0 Preview 3, we are nearing completion of this work and would like to share more details about these changes and some of the differences you might see in your applications. The primary goals of this work were to ensure correctness and standards compliance with IEEE 754-2008. For those unfamiliar with the standard, it defines the underlying format, base operations, and behaviors for binary floating-point types such as System.Single () and System.Do...
Collecting .NET Core Linux Container CPU Traces from a Sidecar Container
It is challenging to collect performance traces of ASP.NET Core applications running inside Linux containers. This blog post describes an approach that use a sidecar container to collect CPU trace of an ASP.NET application running in a Linux container.
.NET Framework March 1, 2019 Cumulative Update for Windows 10 version 1809 and Windows Server 2019
Today, March 1, we released the February 2019 Cumulative Update for Windows 10 version 1809 and Windows Server 2019. This release contains the following quality and reliability improvements.
An update to C# versions and C# tooling
Starting with Visual Studio 2019 Preview 4, we'll be adjusting how C# versions are treated in .NET tooling. Firstly, we're adding two new Language Version (LangVersion) values: LatestMajor and Preview. Rad the post to see how they stack up with the currently supported list of values.
How to port desktop applications to .NET Core 3.0
In this post, I will describe how to port a desktop application from .NET Framework to .NET Core. I picked a WinForms application as an example. Steps for WPF application are similar and I'll describe what needs to be done different for WPF as we go. I will also show how you can keep using the WinForms designer in Visual Studio even though it is under development and is not yet available for .NET Core projects. About the sample For this post, I'll be using a Memory-style board game application. It contains a WinForms UI () and a class library with the game logic (), both targeting .NET Framework 4.5. You can do...
Azure Hybrid Benefit for SQL Server
In my previous blog post I talked about how to migrate data from existing on-prem SQL Server instances to Azure SQL Database. If you haven’t heard SQL Server 2008 end of support is coming this summer, so it’s a good time to evaluate moving to an Azure SQL Database. If you decide to try Azure, chances are you will not be able to immediately move 100% of your on-prem databases and relevant applications in one go. You’ll probably come up with a migration plan that spans weeks, months or even years. During the migration phase you will be spinning up new instances of Azure SQL Database and turning off on-prem SQL Ser...
Announcing .NET Framework 4.8 Early Access Build 3745
As we get closer to the final version, our efforts are focused on stabilizing the release over the coming weeks. Please keep up the support by trying out our latest preview 3745 and provide any feedback you may have for the build or for .NET 4.8 overall, via the .NET Framework Early Access GitHub repository. Supported Windows Client versions: Windows 10 version 1809, Windows 10 version 1803, Windows 10 version 1709, Windows 10 version 1703, Windows 10 version 1607, Windows 8.1, Windows 7 SP1 Supported Windows Server versions: Windows Server 2019, Windows Server version 1803, Windows Server version 1709, Win...
.NET Framework February 2019 Preview of Quality Rollup
Today, we released the February 2019 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. CLR Addresses an issue in System.Threading.Timer where a single global queue that was protected by a single process-wide lock causing an issue with scalability
.NET Core 1.0 and 1.1 will reach End of Life on June 27, 2019
.NET Core 1.0 was released on June 27, 2016, and .NET Core 1.1 was released on November 16, 2016. As an LTS release, .NET Core 1.0 is supported for three years. .NET Core 1.1 fits into the same support timeframe as .NET Core 1.0. .NET Core 1.0 and 1.1 will reach end of life…
Migrating your existing on-prem SQL Server database to Azure SQL DB
If you are in the process of moving an existing .NET application to Azure, it’s likely you’ll have to migrate an existing, on-prem SQL database as well. There are a few different ways you can go about this, so let’s go through them. Data Migration Assistant (downtime required) The Data Migration Assistant (download | documentation) is free, easy to use, slick and extremely powerful! It can: After a successful migration, applications will be able to connect to the target SQL server databases seamlessly. There are currently a couple of limitations, but the majority of databases shouldn’t...
RESOLVED: Advisory on February 2019 Security update for Windows 10 update 1809
Final Update 2/19/19 @1:30 PM (PST): This advisory is now resolved with no action needed from Microsoft Customers. The issue was not applicable to any valid or supported configuration. There is no consequence for .NET 4.8 Preview customers. We strive to share timely information to protect our customer’s productivity, in this case, our finding was thankfully of no consequence for customers on supported configurations. Update 2/15/19 @3:35 PM (PST): As we continue our investigation, we are finding the issue to be restricted to a limited and isolated set of test-only systems that are using non-official versio...
Microsoft’s Developer Blogs are Getting an Update
In the coming days, we’ll be moving our developer blogs to a new platform with a modern, clean design and powerful features that will make it easy for you to discover and share great content. This week, you’ll see the Visual Studio, IoTDev, and Premier Developer blogs move to a new URL – while additional developer blogs will transition over the coming weeks. You'll continue to receive all the information and news from our teams, including access to all past posts. Your RSS feeds will continue to seamlessly deliver posts and any of your bookmarked links will re-direct to the new URL location. We’d love your ...
Microsoft’s Developer Blogs are Getting an Update
In the coming days, we’ll be moving our developer blogs to a new platform with a modern, clean design and powerful features that will make it easy for you to discover and share great content. This week, you’ll see the Visual Studio, IoTDev, and Premier Developer blogs move to a new URL – while additional developer blogs will transition over the coming weeks. You'll continue to receive all the information and news from our teams, including access to all past posts. Your RSS feeds will continue to seamlessly deliver posts and any of your bookmarked links will re-direct to the new URL location. We’d love your fee...
Help us make the .NET Architecture guides better for you!
Over the last couple of years, we worked with experts to create some incredible architecture guides & reference samples for .NET developers. We focused on Microservices Architecture, Modernizing existing .NET apps, DevOps best practices, ASP.NET web apps, Azure cloud apps, Mobile apps with Xamarin and more. We're running a survey to find out how you’re using them and what we could improve. It should take 10 mins or less, and your answers will help us make the guides and reference samples better. Take the survey now! Thank You! .NET Team
.NET Framework February 2019 Security and Quality Rollup
Updated: February 15, 2019 Updated: February 14, 2019 Yesterday, we released the February 2019 Security and Quality Rollup. Security CVE-2019-0613 – Remote Code Execution Vulnerability This security update resolves a vulnerability in .NET Framework software if the software does not check the source markup of a file. An attacker who successfully exploits the vulnerability could run arbitrary code in the context of the current user. If the current user is logged on by using administrative user rights, an attacker could take control of the affected system. An attacker could t...
.NET Core February 2019 Updates – 1.0.14, 1.1.11, 2.1.8 and 2.2.2
The latest .NET Core updates are available on the <a href="https://www.microsoft.com/net/download/all">.NET Core download page</a>. This update is also included in the Visual Studio 15.0.21 (.NET Core 1.0 and 1.1) and 15.9.7 (.NET Core 1.0, 1.1 and 2.1) updates, which is also releasing today. See the .NET Core release notes ( <a href="https://github.com/dotnet/core/blob/master/release-notes/1.0/1.0.14/1.0.14.md">1.0.14</a> | <a href="https://github.com/dotnet/core/blob/master/release-notes/1.1/1.1.11/1.1.11.md">1.1.11</a> | <a href="https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1.8/2.1.8.md">2...
Announcing ML.NET 0.10 – Machine Learning for .NET
ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models. ML.NET allows you to create and use machine learning models targeting common tasks such as classification, regression, clustering, ranking, recommendations and anomaly detection. It also supports the broader open source ecosystem by proving integration with popular deep-learning frameworks like TensorFlow and interoperabil...
Announcing an easier way to use latest certificates from Key Vault
Posting on behalf of the Key Vault Team. When we launched Azure Key Vault a few years ago, it solved a major problem users had which was that storing sensitive and/or secret information in code or config files in plain text causes multiple problems including security exposure. Users stored their secrets in a safe store like Key Vault and used a URI to fetch the secret material. This service has been wildly popular and has become a standard for cloud applications. It is used by fledgling startups to Fortune 500 companies world over. Developers use Key Vault to store their ad-hoc secrets, certificates and keys use...
Changes to the web and JSON editor APIs in Visual Studio 2019
In <a href="https://visualstudio.microsoft.com/vs/preview/">Visual Studio 2019 Preview 2</a>, The Web Tools team made some changes to improve extensibility features for extension developers. To standardize interfaces, the CSS, HTML, JSON and CSHTML editors renamed their assemblies - table details inside!
Blazor 0.8.0 experimental release now available
Blazor 0.8.0 is now available! This release updates Blazor to use Razor Components in .NET Core 3.0 and adds some critical bug fixes. Get started with Blazor 0.8.0 today - installation details included.
Submit to the Applied F# Challenge!
This post was written by Lena Hall, a Senior Cloud Developer Advocate at Microsoft. F# Software Foundation has recently announced their new initiative — Applied F# Challenge! We encourage you to participate and send your submissions about F# on Azure through the participation form. Applied F# Challenge is a new initiative to encourage in-depth educational submissions to reveal more of the interesting, unique, and advanced applications of F#. The motivation for the challenge is uncovering more of advanced and innovative scenarios and applications of F# we hear about less often: We primarily hear about ...
Running with Server GC in a Small Container Scenario Part 1 – Hard Limit for the GC Heap
I’ve checked in 2 configs related to specifying a hard limit for the GC heap memory usage so I wanted to describe them and how they are intended to be used. Feedback would be greatly appreciated. In order to talk about the new configs it’s important to understand what consists of the memory usage in a process. When it comes to memory the terminology can be very confusing so it’s worth pointing out that by “memory” I meant private commit size. A process can have the following memory usage from the runtime’s POV: We cannot control 3) and it could be significant. 2) is in general small compared t...
Make the most of your monthly Azure Credits
If you weren’t aware, Visual Studio subscribers have free monthly Azure credits, that are ideal for experimenting with and learning about Azure services. When you activate this benefit, it creates a separate Azure subscription with a monthly credit balance that renews each month while you remain an active Visual Studio subscriber. If the credits run out before the end of the month the subscription is suspended until more credits are available. No surprises, no cost, and no credit card required for any of it! The table below shows you how many Azure credits you get based on your type of Visual Studio subscription:...
ASP.NET Core updates in .NET Core 3.0 Preview 2
.NET Core 3.0 Preview 2 is now available and it includes the list of what's new in this preview. To get started with ASP.NET Core in .NET Core 3.0 Preview 2 install the .NET Core 3.0 Preview 2 SDK
Announcing .NET Core 3 Preview 2
Today, we are announcing .NET Core 3 Preview 2. It includes new features in .NET Core 3.0 and C# 8, in addition to the large number of new features in Preview 1. ASP.NET Core 3.0 Preview 2 is also released today. C# 8 Preview 2 is part of .NET Core 3 SDK, and was also released last week with Visual Studio 2019 Preview 2. Download and get started with .NET Core 3 Preview 2 right now on Windows, macOS and Linux. In case you missed it, we made some big announcements with Preview 1, including adding support for Windows Forms and WPF with .NET Core, on Windows, and that both UI frameworks will be open source. W...
Announcing .NET Framework 4.8 Early Access Build 3734
We are getting closer to the final version now! This release includes several accessibility, performance and reliability fixes across the major framework libraries. We will continue to stabilize this release and take more fixes over the coming weeks and we would greatly appreciate it if you could help us ensure Build 3734 is a high-quality release by trying it out and providing feedback on the new features via the .NET Framework Early Access GitHub repository. Supported Windows Client versions: Windows 10 version 1809, Windows 10 version 1803, Windows 10 version 1709, Windows 10 version 1703, Windows 10 versio...
Help us plan the future of .NET and Big Data
We’re currently looking into how we can make .NET great for Big Data scenarios. Please fill out the survey below and help shape how we can improve .NET for Big Data by sharing your experiences, challenges, and needs. It should only take 10 minutes or less to complete! Take the survey now! Thanks, .NET Team
Debugging .NET Apps with Time Travel Debugging (TTD)
When you are debugging an application, there are many tools and techniques you can use, like logs, memory dumps and Event Tracing for Windows (ETW). In this post, we will talk about Time Travel Debugging, a tool used by Microsoft Support and product teams and more advanced users, but I encourage everyone to try this approach when diagnosing hard to find bugs. Time Travel Debugging Time Travel Debugging or TTD, is the process of recording and then replay the execution of a process, both forwards and backward, to understand what is happening during the execution. It is vital to fixing bugs when the root cause is ...
.NET and TypeScript at FOSDEM 2019
The schedule for the .NET and Typescript Developer Room at FOSDEM has now been published! FOSDEM is one of the longest running Free and Open Source conferences, and we’re excited to have a .NET and TypeScript Developer Room this year, with lots of great speakers and sessions. The conference is Saturday 2nd to Sunday 3rd February at the ULB Solbosch Campus in Brussels. Attendance is free, and there’s no need to register. The .NET and TypeScript Developer Room will run all day Saturday from 10:30am to 7pm in room K.3.201. Additionally, Scott Hanselman will have a talk on the Main Track Open Source C#, .NET...
Do more with patterns in C# 8.0
Do more with patterns in C# 8.0 Visual Studio 2019 Preview 2 is out! And with it, a couple more C# 8.0 features are ready for you to try. It's mostly about pattern matching, though I'll touch on a few other news and changes at the end. More patterns in more places When C# 7.0 introduced pattern matching we said that we expected to add more patterns in more places in the future. That time has come! We're adding what we call recursive patterns, as well as a more compact expression form of statements called (you guessed it!) switch expressions. Here's a simple C# 7.0 example of patterns to start us out: Sw...
Announcing F# 4.6 Preview
F# 4.6 is now fully released. See the announcement blog post for more. We're excited to announce that Visual Studio 2019 will ship a new version of F# when it releases: F# 4.6! F# 4.6 is a smaller update to the F# language, making it a "true" point-release. As with previous versions of F#, F# 4.6 was developed entirely via an open RFC (requests for comments) process. The F# community has offered very detailed feedback in discussions for this version of the language. You can view all RFCs that correspond with this release here: This post will detail the feature set and how to get started. Get s...
.NET Core tooling update for Visual Studio 2019 Preview 2
Another preview of Visual Studio 2019, another update on the cool stuff going into it! We're pleased to announce some updates to the .NET Core tools for Visual Studio 2019. You can try these changes out starting with Preview 2. We'd love for you to try out these new features and give us feedback. Debugging console apps will use the new Integrated Console Console apps that target .NET Core (or .NET Framework via the .NET SDK) will default to using the new Integrated Console experience when pressing f5 or ctrl+f5: This should prevent the need to add Console.Read() calls to console apps to prevent t...
.NET Framework January 22, 2018 Cumulative Update for Windows 10 version 1809 and Windows Server 2019
Today, we are releasing the January 22, 2018 .NET Framework Cumulative Update for Windows 10 version 1809 and Windows Server 2019. For more information about the new Cumulative Updates for .NET Framework for Windows 10 version 1809 and Windows Server 2019 please refer to this recent announcement. Update Notice (1/23/2019): The term "Preview" was removed from non-security Cumulative .NET updates for Window 10 version 1809 and Windows Server 2019. Non-security updates that usually ship on the 4th week of the month will continue to be made available to "seekers" who go to Settings > Updates > Update &...
Help us help you! What desktop apps are you bringing to .NET Core 3.0?
Windows Desktop applications are coming to .NET Core. The recently released .NET Core 3.0 Preview 1 version includes WinForms and WPF support. To make .NET Core 3.0 viable for as many of you as possible, we have created a survey to understand the types of desktop applications you want to build with .NET Core. Based on the information you provide, we may contact some of you (if you agree) to collaborate on your .NET Core 3.0 efforts. We'll learn from working with you how to improve the experience and documentation for bringing desktop applications to .NET Core. There are many reasons to choose .NET Core for ...
.NET Framework January 2019 Preview of Quality Rollup
The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog.
Announcing ML.NET 0.9 – Machine Learning for .NET
Announcing ML.NET 0.9 - Machine Learning for .NET ML.NET is an open-source and cross-platform machine learning framework (Windows, Linux, macOS) for .NET developers. Using ML.NET, developers can leverage their existing tools and skillsets to develop and infuse custom AI into their applications by creating custom machine learning models. ML.NET allows you to create and use machine learning models targeting common tasks such as classification, regression, clustering, ranking, recommendations and anomaly detection. It also supports the broader open source ecosystem by proving integration with popul...
Tell us your thoughts on ML.NET, an open source and cross-platform machine learning framework
ML.NET is an open source and cross-platform machine learning framework made for .NET developers. .NET developers can use their C# or F# skills to easily integrate custom machine learning into their web, mobile, desktop, gaming, or IoT applications without any prior expertise in developing or tuning machine learning models. ML.NET covers many machine learning scenarios, including classification, regression, recommendation, clustering, anomaly detection, ranking, and deep learning. ML.NET is still new, and as we are developing it, we would love to get your feedback! Please fill out the brief survey below and hel...
.NET Core January 2019 Updates – 2.1.7 and 2.2.1
Today, we are releasing the .NET Core January 2019 Update. These updates contain security and reliability fixes. Security CVE-2019-0545: .NET Core Information Disclosure Vulnerability The security update addresses the vulnerability by enforcing Cross-origin Resource Sharing (CORS) configuration to prevent its bypass in .NET Core 2.1 and 2.2. An attacker who successfully exploited the vulnerability could retrieve content, that is normally restricted, from a web application. CVE-2019-0548: ASP.NET Core Denial Of Service Vulnerability This security vulnerability exists in ASP.NET Core 1.0, 1.1...
.NET Framework January 2019 Security and Quality Rollup
Today, we are releasing the January 2019 Security and Quality Rollup. Security CVE-2019-0545 – Windows Security Feature Bypass Vulnerability This security update resolves a vulnerability in Microsoft .NET Framework that may cause an information disclosure that allows bypassing Cross-origin Resource Sharing (CORS) configurations. An attacker who successfully exploits the vulnerability could retrieve from a web application content that's normally restricted. This security update addresses the vulnerability by enforcing CORS configuration to prevent its bypass. CVE-2019-0545 Getting the Update The Security a...
Enable repeatable package restores using a lock file
With , NuGet always tries to produce the same closure of package dependencies if the input package reference list has not changed. However, there are a few scenarios where it may not be able to do so. While these cases are limited, we received multiple requests to completely lock down the full package dependency graph for projects to produce repeatable restores (builds). We have been working on your feedback, iterating quite a few times, on the approach and design over the past few months. We are happy to announce that we have now introduced the ability to lock your project's package dependency graph via a lock f...
Announcing .NET Framework 4.8 Early Access Build 3707
We have another early access build to share today! This release includes several accessibility, performance, reliability and stability fixes across the major framework libraries. We will continue to stabilize this release and take more fixes over the coming months and we would greatly appreciate it if you could help us ensure Build 3707 is a high-quality release by trying it out and providing feedback on the new features via the .NET Framework Early Access GitHub repository. We’d also like to note that the set of supported OS platforms for this EAP build now match the same set of OS platforms supported for .NE...
Visual Studio 2019 Preview .NET Productivity
As you hopefully heard, the first preview of Visual Studio 2019 is now available. In this post I’ll cover some of the productivity improvements for .NET developers we’re most excited about. For a complete list, check out the release notes. Regex Language Support Any regular expressions in your C# or Visual Basic files now have syntax highlighting, compiler diagnostics, and code fixes! This parsing support can recognize strings passed to the regex constructor and strings immediately preceded with a comment containing the string `language=regex`. The language features currently included in this release are classi...
.NET Framework December 2018 Security and Quality Rollup
Today, we are releasing the December 2018 Security and Quality Rollup. Security CVE-2018-8540 – Windows Remote Code Execution Vulnerability This security update resolves a vulnerability in Microsoft .NET Framework that could allow remote code execution when Microsoft .NET Framework doesn't validate input correctly. The attacker who successfully exploits this vulnerability could take control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts that use full user rights. Users whose accounts are configured to have fewer user rights on the system cou...
Open Sourcing XAML Behaviors for WPF
Today, we are excited to announce that we are open sourcing XAML Behaviors for WPF. In the past, we open sourced XAML Behaviors for UWP which has been a great success and the Behaviors NuGet package has been downloaded over 500k times. One of the top community asks has been to support WPF in the same way. XAML Behaviors for WPF now ships as a NuGet package - Microsoft.Xaml.Behaviors.Wpf . This will allow new features and bug fixes to be addressed faster. When a new Behavior or feature is added to the repo, it can be consumed and used almost immediately. Opening to contributions lets the Behaviors platform grow...
Take C# 8.0 for a spin
Take C# 8.0 for a spin Yesterday we announced the first preview of both Visual Studio 2019 (Making every developer more productive with Visual Studio 2019) and .NET Core 3.0 (Announcing .NET Core 3 Preview 1 and Open Sourcing Windows Desktop Frameworks). One of the exciting aspects of that is that you get to play with some of the features coming in C# 8.0! Here I am going to take you on a little guided tour through three new C# features you can try out in the preview. Not all C# 8.0 features are available yet. If you want an overview of all the major features, go read the recent post Building C# 8.0, or check th...
.NET Framework December 5, 2018 Preview of Cumulative Update for Windows 10 version 1809 and Windows Server 2019
Today, we are releasing the December 5, 2018 Preview of .NET Framework Cumulative Update for Windows 10 version 1809 and Windows Server 2019. For more information about the new Cumulative Updates for .NET Framework for Windows 10 version 1809 and Windows Server 2019 please refer to this recent announcement. Quality and Reliability This release contains the following quality and reliability improvements. CLR SQL WCF WPF Winforms Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement i...
Lock down your dependencies using configurable trust policies
For the past several months we have focused on various features to improve package security and trust. Around a year back, we had announced our plans on various signing functionalities that we have been implementing at a steady pace. We enabled package author signing and NuGet.org repository signing earlier this year. Continuing on the signing journey, we are happy to announce configurable client policies to secure developer environments for packages. With this feature, developers can now customize their environment to define package authors and/or package repositories they trust thereby allowing only trusted pac...
Announcing .NET Core 3 Preview 1 and Open Sourcing Windows Desktop Frameworks
Today, we are announcing .NET Core 3 Preview 1. It is the first public release of .NET Core 3. We have some exciting new features to share and would love your feedback. You can develop .NET Core 3 applications with Visual Studio 2019 Preview 1, and Visual Studio Code. It will be supported in a later version of Visual Studio for Mac. Download and get started with .NET Core 3 Preview 1 right now on Windows, Mac and Linux. You can see complete details of the release in the .NET Core 3 Preview 1 release notes. Please report any issues you find in the comments or at dotnet/core #2099. Visual Studio 2019 will ...
Announcing .NET Core 2.2
We’re excited to announce the release of .NET Core 2.2. It includes diagnostic improvements to the runtime, support for ARM32 for Windows and Azure Active Directory for SQL Client. The biggest improvements in this release are in ASP.NET Core. ASP.NET Core 2.2 and Entity Framework Core 2.2 are also releasing today. You can download and get started with .NET Core 2.2, on Windows, macOS, and Linux: .NET Core 2.2 is supported by Visual Studio 15.9, Visual Studio for Mac and Visual Studio Code. Docker images are available at microsoft/dotnet for .NET Core and ASP.NET Core. You can see complete...
Announcing Entity Framework Core 2.2
Today we're making the final version of EF Core 2.2 available, alongside ASP.NET Core 2.2 and .NET Core 2.2. This is the latest release of our open-source and cross-platform object-database mapping technology. EF Core 2.2 RTM includes more than a hundred bug fixes and a few new features: Spatial data support Spatial data can be used to represent the physical location and shape of objects. Many databases can natively store, index, and query spatial data. Common scenarios include querying for objects within a given distance, and testing if a polygon contains a given location. EF Core 2.2 now supports working w...
Announcing ASP.NET Core 2.2, available today!
The main theme for this ASP.NET Core release was to improve developer productivity and platform functionality with regard to building Web/HTTP APIs. As usual, we made some performance improvements as well and posted about these features as part of the preview releases which you can read about by following the link below.
Announcing ML.NET 0.8 – Machine Learning for .NET
ML.NET is an open-source and cross-platform framework (Windows, Linux, macOS) which makes machine learning accessible for .NET developers. ML.NET allows you to create and use machine learning models targeting scenarios to achieve common tasks such as sentiment analysis, issue classification, forecasting, recommendations, fraud detection, image classification and more. You can check out these common tasks at our GitHub repo with ML.NET samples. Today we’re happy to announce the release of ML.NET 0.8. (ML.NET 0.1 was released at //Build 2018). This release focuses on adding improved support for recommen...
Announcing .NET Framework 4.8 Early Access build 3694
We are happy to let you know that .NET Framework 4.8 is now feature complete and we have an early access build to share with you all! We will continue to stabilize this release and take more fixes over the coming months, and we would greatly appreciate it if you could help us ensure this is a high-quality release by trying it out and providing feedback on the new features via .NET Framework Early Access GitHub repository. This build includes an updated .NET 4.8 runtime as well as the .NET 4.8 Developer Pack (a single package that bundles the .NET Framework 4.8 runtime, the .NET 4.8 Targeting Pack and the .NET ...
.NET Framework November 2018 Preview of Quality Rollup
Today, we are releasing the November 2018 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. CLR SQL WCF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Update Catalog ...
Razor support in Visual Studio Code now in Preview
Earlier this week we released a preview of support for working with Razor files (.cshtml) in the C# extension for Visual Studio Code (1.17.1). This initial release introduces C# completions, directive completions, and basic diagnostics (red squiggles for errors) for ASP.NET Core projects. Prerequisites To use this preview of Razor support in Visual Studio Code install the following: If you already installed VS Code and the C# extension in the past, make sure you have updated to the latest versions of both. Get started To try out the new Razor tooling, create a new ASP.NET Core web app and then edit any...
Running with Server GC in a Small Container Scenario Part 0
This week I was able to get some time to work on the container stuff with low memory limits. As many of you have expressed your dissatisfaction on how Server GC behaves with low memory limit specified on containers on github, I have to apologize that I am just doing this now. Really sorry that some of you guys have to suffer through this thus far. I wanted to share my investigation and some related knowledge - probably interesting as something folks could either apply to their own investigation or just a fun weekend read (that will perhaps reduce the frustration by a little bit :D). First of all, as many of yo...
Improved package debugging experience with the NuGet.org symbol server
Starting today, you can publish symbol packages to the NuGet.org symbol server. With NuGet.org as a single service provider for libraries and symbols, package authors and consumers will have a streamlined publishing and consumption experience. With a single place for managing authentication and identity, you can be sure that both the package and its symbols are coming from the same author when you consume a NuGet package from NuGet.org. Publish a snupkg to the NuGet.org symbol server today! We have introduced a new symbol package format - . You will need Visual Studio 2017 15.9 to generate portable PDBs that ca...
Blazor 0.7.0 experimental release now available
Blazor 0.7.0 is now available! This release focuses on enabling component coordination across ancestor-descendent relationships. We've also added some improvements to the debugging experience. Here's what's new in the Blazor 0.7.0 release: A full list of the changes in this release can be found in the Blazor 0.7.0 release notes. Get Blazor 0.7.0 Install the following: You can find getting started instructions, docs, and tutorials for Blazor at https://blazor.net. Upgrade an existing project to Blazor 0.7.0 To upgrade a Blazor 0.6.0 project to 0.7.0: That's it! You'...
Handling a new era in the Japanese calendar in .NET
Typically, calendar eras represent long time periods. In the Gregorian calendar, for example, the current era spans (as of this year) 2,018 years. In the Japanese calendar, however, a new era begins with the reign of a new emperor. On April 30, 2019, Emperor Akihito is expected to abdicate, which will bring to an end the Heisei era. On the following day, when his successor becomes emperor, a new era in the Japanese calendar will begin. It is the first transition from one era to another in the history of .NET, and the first change of eras in the Japanese calendar since Emperor Akihito's accession in January 1989. ...
ASP.NET SignalR 2.4.0
We've just shipped the final 2.4.0 version of ASP.NET SignalR, the version of SignalR for System.Web and/or OWIN-based applications. As we mentioned in a previous post on the future of ASP.NET SignalR, 2.4.0 is a minor release which contains some small bug fixes and updates. The majority of the features and fixes we implemented for ASP.NET SignalR were outlined in the 2.4.0 Preview 2 post. Support for StackExchange Redis 2.0 In 2.4.0 we're adding support for the new 2.0 release of the StackExchange.Redis package. If you're using StackExchange's Redis package in your SignalR apps and you want to update to the St...
.NET Framework November 2018 Security and Quality Rollup
Today, we are releasing the November 2018 Security and Quality Rollup.SecurityNo new security fixes. See .NET Framework September 2018 Security and Quality Rollup for the latest security updates.Quality and ReliabilityThis release contains the following quality and reliability improvements.CLRWFWinformsWPFNote: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches.Getting the UpdateThe Security and Quality Rollup is available via Windows ...
.NET Core tooling update for Visual Studio 2017 version 15.9
Update! Starting with Visual Studio 2019, the option has moved to: Tools > Options > Environment > Preview Features Old post for posterity: Starting with Visual Studio 2017 version 15.9, we’ve changed how the Visual Studio tooling for .NET consumes .NET Core SDKs. Prior to this change, installing a preview version of the .NET Core SDK would cause all Visual Studio tooling for .NET Core to use that SDK because it had a higher version. We now have a compatibility check in the .NET Core SDK that allows for a given SDK to mark a minimum required Visual Studio version. This ensures that the Visual Studio t...
Cross-platform Time Zones with .NET Core
Developing applications that span multiple operating systems in .NET Core while working with Time Zone information can lead to unexpected results for developers not familiar with the differences in how operating systems manage Time Zones. In this post, we will explore those differences and the challenges they present. Reproducing the issue Suppose you are writing a console application in .NET Core and you want to get information about a specific Time Zone. You might write something like this Running this on my Windows 10 development environment, I see the following output If I take that same block of ...
Building C# 8.0
Building C# 8.0 The next major version of C# is C# 8.0. It's been in the works for quite some time, even as we built and shipped the minor releases C# 7.1, 7.2 and 7.3, and I'm quite excited about the new capabilities it will bring. The current plan is that C# 8.0 will ship at the same time as .NET Core 3.0. However, the features will start to come alive with the previews of Visual Studio 2019 that we are working on. As those come out and you can start trying them out in earnest, we will provide a whole lot more detail about the individual features. The aim of this post is to give you an overview of what to e...
When should you right click publish
Some people say ‘friends don’t let friends right click publish’ but is that true? If they mean that there are great benefits to setting up a CI/CD workflow, that’s true and we will talk more about these benefits in just a minute. First, let’s remind ourselves that the goal isn’t always coming up with the best long-term solution. Technology moves fast and as developers we are constantly learning and experimenting with new languages, frameworks and platforms. Sometimes we just need to prototype something rather quickly in order to evaluate its capabilities. That’s a classic scenario where right click publish in Vi...
Announcing ML.NET 0.7 (Machine Learning .NET)
We're excited to announce today the release of ML.NET 0.7 - the latest release of the cross-platform and open source machine learning framework for .NET developers (ML.NET 0.1 was released at //Build 2018). This release focuses on enabling better support for recommendation based ML tasks, enabling anomaly detection, enhancing the customizability of the machine learning pipelines, enabling using ML.NET in x86 apps, and more. This blog post provides details about the following topics in the ML.NET 0.7 release: Enhanced support for recommendation tasks with Matrix Factorization ...
Understanding the Whys, Whats, and Whens of ValueTask
The .NET Framework 4 saw the introduction of the namespace, and with it the class. This type and the derived have long since become a staple of .NET programming, key aspects of the asynchronous programming model introduced with C# 5 and its / keywords. In this post, I'll cover the newer / types, which were introduced to help improve asynchronous performance in common use cases where decreased allocation overhead is important. Task serves multiple purposes, but at its core it's a "promise", an object that represents the eventual completion of some operation. You initiate an operation and get back a for it...
Announcing .NET Standard 2.1
Since we shipped .NET Standard 2.0 about a year ago, we've shipped two updates to .NET Core 2.1 and are about to release .NET Core 2.2. It's time to update the standard to include some of the new concepts as well as a number of small improvements that make your life easier across the various implementations of .NET. Keep reading to learn more about what's new in this latest release, what you need to know about platform support, governance and coding. What's new in .NET Standard 2.1? In total, about 3k APIs are planned to be added in .NET Standard 2.1. A good chunk of them are brand-new APIs while others are ...
Announcing .NET Framework 4.8 Early Access build 3673
We are happy to share the next Early Access build for the .NET Framework 4.8. This includes an updated .NET 4.8 runtime as well as the .NET 4.8 Developer Pack (a single package that bundles the .NET Framework 4.8 runtime, the .NET 4.8 Targeting Pack and the .NET Framework 4.8 SDK). Please help us ensure this is a high quality and compatible release by trying out this build and exploring the new features. Next steps: To explore the new features, download the .NET 4.8 Developer Pack build 3673. If you want to try just the .NET 4.8 runtime, you can download either of these: Please provide your fe...
A first look at changes coming in ASP.NET Core 3.0
While we continue to work on finalizing the next minor version of ASP.NET Core, we’re also working on major updates to our next release that will include some changes in how projects are composed with frameworks, tighter .NET Core integration, and 3rd party open source integration, all with the goal of making it easier and faster for you to develop. For broader context around .NET Core 3.0, we encourage you to check out our previous announcements around the addition of WinForms and WPF support to .NET Core 3.0 on Windows. We’ll publish more details about new features coming in ASP.NET Core 3.0 in the near future....
Announcing CosmosDB Table Async OutputCache Provider Release and ASP.NET Providers Connected Service Extension Update
Through the years, ASP.NET team have been releasing new ASP.NET SessionState and OutputCache providers to help developers make their web applications ready for the cloud environment. Today we are announcing a new OutputCache provider, Microsoft.AspNet.OutputCache.CosmosDBTableAsyncOutputCacheProvider, to enable your applications store the OutputCache data into CosmosDB. It supports both Azure CosmosDB Table and Azure Storage Table. How to Use CosmosDBTableAsyncOutputCacheProvider ASP.NET Providers Connected Service Extension Update 5 months ago, we released ASP.NET Providers Connected Service Visual Stu...
Bringing .NET application performance analysis to Linux
Both the Windows and Linux ecosystems have a swath of battle-hardened performance analysis and investigation tools. But up until recently, developers and platform engineers could use none of these tools with .NET applications on Linux. Getting them to work with .NET involved collaboration across many open source communities. The .NET team at Microsoft and the LTTng community worked together to bring .NET application performance analysis to Linux. Since one of this project's goals was to avoid reinventing the wheel—and to allow existing workflows to be used for .NET applications on Linux—the .NET team chose to ...
.NET Core Source Code Analysis with Intel® VTune™ Amplifier
This post was written by Varun Venkatesan, Li Tian, Denis Pravdin, who are engineers at Intel. They are excited to share .NET Core-specific enhancements that Intel has made to VTune Amplifier 2019. You can use this tool to use to make .NET Core applications faster on Intel processors. Update (2019.01.14): VTune™ Amplifier 2019 Update 2 is now available and includes support for Tiered Compilation on Windows and Linux. Tiered Compilation is expected to be turned on by default in future .NET Core releases. It can be turned on by setting the COMPlus_TieredCompilation environment variable from .NET Core 2.1 onwards. ...
Call For Participation: .NET and TypeScript at FOSDEM conference
The organizers of the FOSDEM 2019 conference have allocated a “Developer Room” on Saturday February 2nd 2019 for .NET and TypeScript discussions in Brussels Belgium. FOSDEM is one of Europe’s most exciting free software conferences that runs over a weekend and gathers many open source communities, contributors and activists in one place to learn about the state of the world. We are looking for: This is a partial list of ideas that might be of interest to the audience, it is by no means comprehensive, so if your project or ideas is not included, feel free to submit a proposal anyways:...
ASP.NET SignalR 2.4.0 Preview 2
We've just released the second preview of the upcoming 2.4.0 release of ASP.NET SignalR. As we mentioned in our previous blog post on the future of ASP.NET SignalR we are releasing a minor update to ASP.NET SignalR (the version of SignalR for System.Web and/or OWIN-based applications) that includes, support for the Azure SignalR Service, as well as some bug fixes and minor features. We recommend you try upgrading to the preview even if you’re not interested in adopting the Azure SignalR Service at this time. Your feedback is critical to making sure we produce a stable and compatible update! You can find details ...
.NET Framework October 2018 Preview of Quality Rollup
The release of the October 2018 Preview of Quality Rollup includes updates in CLR, WF, Winforms, and WPF. The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog.
Announcing .NET Core 2.2 Preview 3
Announcing .NET Core 2.2 Preview 3 as well as ASP.NET Core 2.2 Preview 3, and Entity Framework 2.2 Preview 3 release. .NET Core 2.2 Preview 3 can be used with Visual Studio 15.9 Preview 3 (or later), Visual Studio for Mac and Visual Studio Code. Download and test it out! We’re looking for feedback on the release with the intent of shipping the final version later this year.
Announcing Entity Framework Core 2.2 Preview 3
Entity Framework Core 2.2 Preview 3 available with a new preview of our data provider for Cosmos DB and updated spatial extensions for various providers. Preview 3 is going to be the last milestone before EF Core 2.2 RTM, so now is your last chance to try the bits and give us feedback if you want to have an impact on the quality and the shape of the APIs in this release.
ASP.NET Core 2.2.0-preview3 now available
Today we're very happy to announce that the third preview of the next minor release of ASP.NET Core and .NET Core is now available for you to try out. We’ve been working hard on this release, along with many folks from the community, and it’s now ready for a wider audience to try it out and provide the feedback that will continue to shape the release. How do I get it? You can download the new .NET Core SDK for 2.2.0-preview3 (which includes ASP.NET 2.2.0-preview3) from https://www.microsoft.com/net/download/dotnet-core/2.2 Visual Studio requirements Customers using Visual Studio should also install and use t...
Automating Release Notes with Azure Functions
We can all agree that tracking the progress of a project enhances productivity and is an effective way to keep everyone involved of its progress. When it comes to managing your project in Azure DevOps (formerly VSTS) or GitHub, you have all of your artifacts in one place: code, CI/CD pipelines, releases, work items, and more. In cases where there’s a larger project with a larger team, the rate at which pull requests and work items are created, opened, and closed will increase significantly between each release. Imagine a large user base that wanted to stay updated on these changes and updates through release note...
Guidance for library authors
We've just published our first cut of the .NET Library Guidance. It's brand new set of articles for .NET developers who want to create high-quality libraries for .NET. The guidance contains recommendations we've identified as common best practices that apply to most public .NET libraries. We want to help .NET developers build great libraries with these aspects: As well as a source of information, we hope the guidance can be a topic of discussion between Microsoft and the .NET open-source community: when creating a .NET library, what feels good and what are the points of friction. In re...
Using .NET Hardware Intrinsics API to accelerate machine learning scenarios
This week's blog post is by Brian Lui, one of our summer interns on the .NET team, who's been hard at work. Over to Brian: Hello everyone! This summer I interned in the .NET team, working on ML.NET, an open-source machine learning platform which enables .NET developers to build and use machine learning models in their .NET applications. The ML.NET 0.6 release just shipped and you can try it out today. At the start of my internship, ML.NET code was already relying on vectorization for performance, using a native code library. This was an opportunity to reimplement an existing codebase in managed code, using ...
You Should Never See This Callstack in Production
A customer who just experienced some server outage asked us for help as they thought it was due to some very long GC pauses. I thought this diagnostics exercise might be useful for other folks as well so I am sharing it with you. We had them collect a GCCollectOnly trace which showed there were some very long induced gen2 blocking GCs. And they are using Server GC which means we wanted stacks for the GCTrigger event which would show us exactly who induced these GCs. For Server GC the GCStart event is actually fired on one of the Server GC threads which would mean it's not useful for figuring out who triggered th...
.NET Core October 2018 Update – NET Core 1.0 and 1.1
Today, we are releasing the .NET Core October 2018 Update for 1.0 and 1.1. This update includes .NET Core 1.0.13, 1.1.10 and .NET Core SDK 1.1.11. Security CVE-2018-8292: .NET Core Information Disclosure Vulnerability Microsoft is aware of a security feature bypass vulnerability that exists when .NET Core when HTTP authentication information is inadvertently exposed in an outbound request that encounters an HTTP redirect. An attacker who successfully exploited this vulnerability could use the information to further compromise the web application. The update addresses the vulnerability by correcting how .N...
.NET Framework October 2018 Security and Quality Rollup
Today, we released the October 2018 Security and Quality Rollup. Security No new security fixes. See .NET Framework September 2018 Security and Quality Rollup for the latest security update. Quality and Reliability This release contains the following quality and reliability improvements. CLR WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentor use in web searches. Getting the Update The Security and ...
Announcing ML.NET 0.6 (Machine Learning .NET)
Today we’re announcing our latest monthly release: ML.NET 0.6! ML.NET is a cross-platform, open source machine learning framework for .NET developers. We want to enable every .NET developer to train and use machine learning models in their applications and services. If you haven’t tried ML.NET yet, here’s how you can get started! The ML.NET 0.6 release delivers several new exciting enhancements: Learn more about performance improvements, enhanced TensorFlow support and type-system improvements. Finally, we're looking forward to engaging with the open-source community in developing a...
Use Hybrid Connections to Incrementally Migrate Applications to the Cloud
As the software industry shifts to running software in the cloud, organizations are looking to migrate existing applications from on-premises to the cloud. Last week at Microsoft’s Ignite conference, Paul Yuknewicz and I delivered a talk focused on how to get started migrating applications to Azure (watch the talk free) where we walked through the business case for migrating to the cloud, and choosing the right hosting and data services. If your application is a candidate for running in App Service, one of the most useful pieces of technology that we showed was Hybrid Connections. Hybrid Connections let you host ...
Announcing ASP.NET SignalR 2.4.0 Preview 1
We recently released the first preview of the upcoming 2.4.0 release of ASP.NET SignalR. As we mentioned in our previous blog post on the future of ASP.NET SignalR we are releasing a new minor update to ASP.NET SignalR (the version of SignalR for System.Web and/or OWIN-based applications) that includes, support for the Azure SignalR Service, as well as some bug fixes and minor features. We recommend you try upgrading to the preview even if you're not interested in adopting the Azure SignalR Service at this time. Your feedback is critical to making sure we produce a stable and compatible update! You can find deta...
Update on .NET Core 3.0 and .NET Framework 4.8
In May, we announced .NET Core 3.0, the next major version of .NET Core that adds support for building desktop applications using WinForms, WPF, and Entity Framework 6. We also announced some exciting updates to .NET Framework which enable you to use the new modern controls from UWP in existing WinForms and WPF applications. Today, Microsoft is sharing a bit more detail on what we’re building and the future of .NET Core and .NET Framework. .NET Core 3.0 addresses three scenarios our .NET Framework developer community has asked for, including: .NET Framework 4.8 addresses three scenarios our ....
Middle Ground between Server and Workstation GC
A long time ago I wrote about using Workstation GC on server applications when you have many instances of your server app running on the same machine. By default Server GC will treat the process as owning the machine so it uses all CPUs to do the GC work. More and more folks find themselves in a situation where they might have a few active instances of their server application running on the same machine. You could of course run each instance inside a container (a job object on Windows or cgroups on Linux) to limit resources that way. For example, if you limit the job object to only use 10 out of 40 CPUs on the m...
Blazor 0.6.0 experimental release now available
Blazor 0.6.0 is now available! This release includes new features for authoring templated components and enables using server-side Blazor with the Azure SignalR Service. We're also excited to announce our plans to ship the server-side Blazor model as Razor Components in .NET Core 3.0! Here's what's new in the Blazor 0.6.0 release: A full list of the changes in this release can be found in the Blazor 0.6.0 release notes. Get Blazor 0.6.0 Install the following: You can find getting started instructions, docs, and tutorials for Blazor at https://blazor.net. Upgrade an existing p...
.NET Core October 2018 Update – NET Core 2.1.5 & SDK 2.1.403
.NET Core October 2018 Update Today, we are releasing the .NET Core October 2018 Update. This update includes .NET Core 2.1.5 and .NET Core SDK 2.1.403 and contains important reliability fixes. Getting the Update The latest .NET Core updates are available on the .NET Core download page. This update will be included in the Visual Studio 15.8.7 update, which will be coming later this month. See the .NET Core 2.1.5 release notes for details on the release including a detailed commit list. Docker Images .NET Docker images have been updated for today’s release. The following repos have been updated. ...
.NET Framework September 2018 Preview of Quality Rollup
Late last week we released the September 2018 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. CLR WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentsor use in web searches. Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, Microsoft Update Catalog, and Docker. M...
Announcing Cumulative Updates for .NET Framework for Windows 10 October 2018 Update
We deliver .NET Framework updates nearly every month, through Windows Update and other distribution channels. We are making changes to the way that we deliver those updates. We’ll soon start delivering a Cumulative Update for .NET Framework alongside the Windows 10 Cumulative Update, starting with the Windows 10 October 2018 Update. This new approach will give you more flexibility on installing .NET Framework updates. What is the new Cumulative Update for .NET Framework? Starting with Windows 10 October 2018 Update and Windows Server 2019, .NET Framework fixes will be delivered through a Cumulative Update for ...
Announcing .NET Framework 4.8 Early Access build 3646
Today, we are happy to share an Early Access build for the .NET Framework 4.8. This includes an updated .NET 4.8 runtime as well as the .NET 4.8 Developer Pack (a a single package that bundles the .NET Framework 4.8 runtime, the .NET 4.8 Targeting Pack, and the .NET Framework 4.8 SDK). Please help us ensure this is a high quality and compatible release by trying out this build and exploring the new features. Next steps: To explore the new features, download the .NET 4.8 Developer Pack build 3646. Instead, if you want to try just the .NET 4.8 runtime, you can download either of these: Please pr...
ASP.NET Core in Visual Studio for Mac – Help us build the best experience
We are working to improve the experience for ASP.NET Core developers in Visual Studio for Mac. If you are working on ASP.NET Core apps in Visual Studio for Mac, we would love to hear you feedback. Your feedback is important so that we can help shape the future of ASP.NET Core in Visual Studio for Mac. At the end of the survey, you can leave your name and email address (optional), so that a member of the team can reach out to you to get more details. The survey should take less than 5 minutes to be completed. Take the survey now Thanks, Sayed Ibrahim Hashimi @SayedIHashimi
The future of ASP.NET SignalR
In ASP.NET Core 2.1, we brought SignalR into the ASP.NET Core family. Many of our users have asked what this means for the previous version of SignalR: ASP.NET SignalR. As a reminder, ASP.NET SignalR is represented by the NuGet package and runs on applications using .NET Framework and System.Web. ASP.NET Core SignalR is part of the ASP.NET Core platform which runs on both .NET Core and .NET Framework and uses the NuGet package . Support for the Azure SignalR Service This year, we're planning to release version 2.4.0 of ASP.NET SignalR. This version will contain bug fixes as always, but will also include one m...
Get This Fantastic Book about .NET Memory Management!
If you are reading my blog chances are you care about .NET memory performance, most likely a lot. Our GC source is on github for anyone to look at. If you are curious enough, you could absolutely learn a lot about our GC by cloning our coreclr repo, building it, and stepping through the GC code under a debugger (that's how I really learned details of the GC code when I took over the GC development). Apparently one of our customers did just that. Last year our Polish office contacted me and asked if I could review a .NET GC book Konrad Kokosa was writing. Of course I said Yes! I spent many hours reviewing - the...
Announcing .NET Core 2.2 Preview 2
Today, we are announcing .NET Core 2.2 Preview 2. We have great improvements that we want to share and that we would love to get your feedback on, either in the comments or at dotnet/core #1938. ASP.NET Core 2.2 Preview 2 and Entity Framework 2.2 Preview 2 are also releasing today. We are also announcing C# 7.3 and ML.NET 0.5. You can see complete details of the release in the .NET Core 2.2 Preview 2 release notes. Related instructions, known issues, and workarounds are included in the releases notes. Please report any issues you find in the comments or at dotnet/core #1938. Thanks for everyone that contribut...
Announcing ‘Machine Learning .NET’ 0.5
Today, coinciding with the .NET Conf 2018, we're announcing the release of ML.NET 0.5. It’s been a few months already since we released ML.NET 0.1 at //Build 2018, a cross-platform, open source machine learning framework for .NET developers. While we’re evolving through new preview releases, we are getting great feedback and would like to thank the community for your engagement as we continue to develop ML.NET together in the open. In this 0.5 release we are adding TensorFlow model scoring as a transform to ML.NET. This enables using an existing TensorFlow model within an ML.NET experiment. In addition we are als...
Announcing Entity Framework Core 2.2 Preview 2 and the preview of the Cosmos DB provider and spatial extensions for EF Core
Today we are making EF Core 2.2 Preview 2 available, together with a preview of our data provider for Cosmos DB and new spatial extensions for our SQL Server and in-memory providers. Obtaining the preview The preview bits are available on NuGet, and also as part of ASP.NET Core 2.2 Preview 2 and the .NET Core SDK 2.2 Preview 2, also releasing today. If you are working on an application based on ASP.NET Core, we recommend you upgrade to ASP.NET Core 2.2 Preview 2 following the instructions in the announcement. The SQL Server and the in-memory providers are included in ASP.NET Core, but for other providers ...
A (Belated) Welcome to C# 7.3
A (Belated) Welcome to C# 7.3 Better late than never! Some of you may have noticed that C# 7.3 already shipped, back in Visual Studio 2017 update 15.7. Some of you may even be using the features already. C# 7.3 is the newest point release in the 7.0 family and it continues themes of performance-focused safe code, as well as bringing some small "quality of life" improvements in both new and old features. For performance, we have a few features that improve variables, pointers, and stackalloc. variables can now be reassigned, letting you treat variables more like traditional variables. now has an op...
ASP.NET Core 2.2.0-preview2 now available
Today we’re very happy to announce that the second preview of the next minor release of ASP.NET Core and .NET Core is now available for you to try out. We’ve been working hard on this release over the past months, along with many folks from the community, and it’s now ready for a wider audience to try it out and provide the feedback that will continue to shape the release. How do I get it? You can download the new .NET Core SDK for 2.2.0-preview2 (which includes ASP.NET 2.2.0-preview2) from https://www.microsoft.com/net/download/dotnet-core/2.2 Visual Studio requirements Customers using Visual Studio should a...
.NET Framework September 2018 Security and Quality Rollup
Updated: September 21, 2018 Today, we are releasing the September 2018 Security and Quality Rollup. Security CVE-2018-8421 – Windows Remote Code Execution Vulnerability This security update resolves a vulnerability in Microsoft .NET Framework that could allow remote code execution when .NET Framework processes untrusted input. An attacker who successfully exploits this vulnerability in software by using .NET Framework could take control of an affected system. The attacker could then install programs; view, change, or delete data; or create new accounts that have full user rights. Users whose accounts are con...
.NET Core September 2018 Update
Today, we are releasing the .NET Core September 2018 Update. This update includes .NET Core 2.1.4 and .NET Core SDK 2.1.402 and contains important reliability fixes. Security CVE-2018-8409: .NET Core Denial Of Service Vulnerability A denial of service vulnerability exists in .NET Core 2.1 when System.IO.Pipelines improperly handles requests. An attacker who successfully exploited this vulnerability could cause a denial of service against an application that is leveraging System.IO.Pipelines. The vulnerability can be exploited remotely, without authentication. A remote unauthenticated attacker could exploit this...
GLAD Part 2
2 years ago I had a blog entry to introduce the GLAD (GC Latency Analysis and Diagnostics) library which provides much more insight into the GC heap performance than perf counters and takes care of interpreting raw GC ETW events so our users don't have to do that work themselves. Since then I have not heard too much usage from our customers :P So either not many people are using it, or people are and they’ve had no problem with it so I don’t hear from them (secretly hoping it’s the latter…). In any case, I thought I’d give another example that uses GLAD to get GC info at real time – hopefully this will encourage...
Introduction to Azure Durable Functions
Azure Durable Functions is a new programming model based on Microsoft serverless' platform Azure Functions. It allows you to write a workflow as code and have the execution run with the scalability and the reliability of serverless with high throughput. Scenario Initially, I wanted to index data from GitHub repositories. I explained it all in a previous post, but I'll drill down into the concepts today. To summarize the post, I wanted to retrieve a list of repositories that I wanted to index. Then, query each repository for more detailed information. Finally, save the data into a database. Today, we'll do s...
How to get started with Azure and .NET
Note: This content is now available as an official document Azure is a big cloud with lots of services, and for even the most experienced user it can be intimidating to know which service will best meet your needs. This blog post is intended to provide a short overview of the most common concepts and services .NET developers need get started and provide resources to help you learn more. Key Concepts Azure Account: Your Azure account is the credentials that you sign into Azure with (e.g. what you would use to log into the Azure Portal). If you to not yet have an Azure account, you can create one for free Azure...
Library Manager Released in 15.8
Microsoft Library Manager (LibMan) is now available in the general release of Visual Studio 2017 as of v15.8. LibMan first previewed earlier this year, and now, after a much-anticipated wait, LibMan is available in the stable release of Visual Studio 2017 bundled as a default component in the ASP.NET and web development workload. In the announcement about the preview, we showed off the LibMan manifest (libman.json), providers for filesystem and CDNJS, and the menu options for Restore, Clean and Enable Restore-on-Build. Included as part of the release in v15.8 we’ve also added: - a new dialog for adding library f...
.NET Framework August 2018 Preview of Quality Rollup
Last Updated 9/7/2018: Documented missing WPF updates Today, we are releasing the August 2018 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET CLR SQL WCF WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Serv...
ASP.NET Core 2.2.0-preview1: Endpoint Routing
Endpoint Routing in 2.2 What is it? We're making a big investment in routing starting in 2.2 to make it interoperate more seamlessly with middleware. For 2.2 this will start with us making a few changes to the routing model, and adding some minor features. In 3.0 the plan is to introduce a model where routing and middleware operate together naturally. This post will focus on the 2.2 improvements, we'll discuss 3.0 a bit further in the future. So, without further ado, here are some changes coming to routing in 2.2. How to use it? The new routing features will be on by default for 2.2 applications using MVC. ...
Introducing Source Code Link for NuGet packages
NuGet.org now supports surfacing source code repository link for NuGet packages. This will enable package authors to surface both the project's website and the source repository using the and the properties respectively instead of having to choose between the two using just the property. The nuspec has supported the property for a while and today more than 16,000 packages contain this property. We have now come a full circle by surfacing this information on the package details page (on NuGet.org). This is how it looks for the Newtonsoft.Json package: In this post, I would like to elaborate on the different w...
ASP.NET Core 2.2.0-preview1: SignalR Java Client
This post was authored by Mikael Mengistu. In ASP.NET Core 2.2 we are introducing a Java Client for SignalR. The first preview of this new client is available now. This client supports connecting to an ASP.NET Core SignalR Server from Java code, including Android apps. The API for the Java client is very similar to that of the already existing .NET and JavaScript clients but there are some important differences to note. The HubConnection is initialized the same way, with the type. Just like in the .NET client, we can send an invocation using the send method. Handlers for server invocations can be re...
ASP.NET Core 2.2.0-preview1: Open API Analyzers & Conventions
What is it? Open API (alternatively known as Swagger) is a language-agnostic specification for describing REST APIs. The Open API ecosystem has tools that allows for discovering, testing and producing client code using the specification. Support for generating and visualizing Open API documents in ASP.NET Core MVC is provided via community driven projects such as NSwag, and Swashbuckle.AspNetCore. Visit https://docs.microsoft.com/en-us/aspnet/core/tutorials/web-api-help-pages-using-swagger?view=aspnetcore-2.1 to learn more about Open API Swagger and for details on configuring your applications to use it. For 2....
ASP.NET Core 2.2.0-preview1: Healthchecks
What is it? We're adding a health checks service and middleware in 2.2.0 to make it easy to use ASP.NET Core in environments that require health checks - such as Kubernetes. The new features are set of libraries defining an IHealthCheck abstraction and service, as well as a middleware for use in ASP.NET Core. Health checks are used by a container orchestrator or load balancer to quickly determine if a system is responding to requests normally. A container orchestrator might respond to a failing health check by halting a rolling deployment, or restarting a container. A load balancer might respond to a health...
ASP.NET Core 2.2.0-preview1: HTTP/2 in Kestrel
As part of the 2.2.0-preview1 release, we’ve added support for HTTP/2 in Kestrel. What is HTTP/2? HTTP/2 is a major revision of the HTTP protocol. Some of the notable features of HTTP/2 are support for header compression and fully multiplexed streams over the same connection. While HTTP/2 preserves HTTP’s semantics (HTTP headers, methods, etc) it is a breaking change from HTTP/1.x on how this data is framed and sent over the wire. As a consequence of this change in framing, servers and clients need to negotiate the protocol version used. While it is possible to have prior knowledge between the server and the c...
ASP.NET Core 2.2.0-preview1 now available
Today we’re very happy to announce that the first preview of the next minor release of ASP.NET Core and .NET Core is now available for you to try out. We’ve been working hard on this release over the past months, along with many folks from the community, and it’s now ready for a wider audience to try it out and provide the feedback that will continue to shape the release. How do I get it? You can download the new .NET Core SDK for 2.2.0-preview1 (which includes ASP.NET 2.2.0-preview1) from https://www.microsoft.com/net/download/dotnet-core/2.2. Visual Studio requirements Customers using Visual Studio ...
LibMan CLI Released
The Command Line Interface (CLI) is now available for Microsoft Library Manager (LibMan) and can be downloaded via NuGet. Look for Microsoft.Web.LibraryManager.Cli The LibMan CLI is cross-platform, so you’ll be able to use it anywhere that .NET Core is supported (Windows, Mac, Linux). Install the LibMan CLI To install LibMan, type: Once the LibMan CLI is installed, you can start using LibMan from the root of your web project (or any folder). Using LibMan from the Command Line When using LibMan CLI, begin commands with “libman” then follow with the action you wish to invoke. For example, to install all f...
.NET Core August 2018 Update
Today, we are releasing the .NET Core August 2018 Update. This update includes .NET Core 2.1.3 and .NET Core SDK 2.1.401. Getting the Update The latest .NET Core updates are available on the .NET Core download page. See the .NET Core 2.1.3 release notes for details on the release including a detailed commit list. Docker Images .NET Docker images have been updated for today’s release. The following repos have been updated. microsoft/dotnet microsoft/dotnet-samples Note: Look at the “Tags” view in each repository to see the updated Docker image tags. Note: You must re-pull base images in order to get updates. T...
Bing.com runs on .NET Core 2.1!
Bing.com is a cloud service that runs on thousands of servers spanning many datacenters across the globe. Bing servers handle thousands of users' queries every second from consumers around the world doing searches through their browsers, from our partners using the Microsoft Cognitive Services APIs, and from the personal digital assistant, Cortana. Our users demand both relevancy and speed in those results, thus performance and reliability are key components in running a successful cloud service such as Bing. Bing's front-end stack is written predominantly in managed code layered in an MVC pattern. Most of the b...
.NET Core SDK 2.1.400 Update
We released .NET Core 2.1.400-SDK. See .NET Core 2.1.400-SDK release notes for complete details on the release. Quality Updates CLI A full list of the changes in this update can be found in the commit list. Getting the Update The .NET Core 2.1.400-SDK August 2018 Update is available from the .NET Core 2.1.400-SDK download page. You can always download the latest version of .NET Core at .NET Downloads. Docker Images .NET Docker images have been updated for today’s release. The following repos have been updated. Note: Look at the “Tags” view in each repository to see the updated Docker image tags. Note: You ...
Improvements in Visual Studio 2017 15.8 for web and Azure developers
With the release of Visual Studio 2017 version 15.8 brings improvements for web developers such as custom docker image tags during publish, zip push deployment for Azure functions, managing Azure functions application settings, and enabling Application Insights as part of publishing to Azure App Service. Also learn about managing user secrets in ASP.NET framework projects, optimizing build performance for solutions containing ASP.NET frame as well as author and source information for ASP.NET Core templates.
Announcing F# 4.5
Today, we’re incredibly pleased to announce general availability of F# 4.5. This post will walk through the changes in F# 4.5 (just like the preview post), then show some updates to F# tooling, and finally talk a bit about where what we’re thinking about for the next F# version. Get started F# 4.5 can be acquired in two ways: If you are not on Windows, never fear! Visual Studio for Mac and Visual Studio Code with Ionide support F# 4.5 if you have the .NET SDK installed. Versioning Alignment The first thing you may notice about F# 4.5 is that it’s higher than F# 4.1. But you may not have expect...
.NET Framework August 2018 Security and Quality Rollup
Today, we are releasing the August 2018 Security and Quality Rollup. This release also addressed the July issues explained in KB 4345913 and Advisory on July 2018 .NET Framework Updates. Security CVE-2018-8360 – Windows Information Disclosure Vulnerability This update resolves an information disclosure vulnerability in Microsoft .NET Framework that could allow an attacker to access information in multi-tenant environments. The vulnerability is caused when .NET Framework is used in high-load/high-density network connections in which content from one stream can blend into another stream. To exploit the vulnerabil...
Advisory serializing/deserializing a CultureAwareComparer with .NET Framework 4.6+
An issue with serializing/deserializing a CultureAwareComparer was discovered with .NET Framework 4.7.1. This issue was resolved earlier this year, with the May 2018 Preview of Quality Rollup. We recently learned that some applications, including Johnson Controls’ C-CURE 9000 Software, were negatively impacted by this change as this update requires all client and server workstations to be updated simultaneously with the appropriate Microsoft updates. The changes made to .NET Framework 4.7.1 were also integrated into .NET Framework 4.6 and later servicing releases. As a result, this advisory applies to .NET Framew...
NuGet.org starts repo-signing packages
In May, we implemented Stage 1 and enabled support for any NuGet.org user to submit signed packages to NuGet.org. Today, we are announcing Stage 2 of our NuGet package signing journey - tamper proofing the entire package dependency graph. What is a Repository Signature? A repository signature is a code signing signature produced with an X.509 certificate. This signature is uniquely associated with a repository using custom metadata. Benefits of repository signatures NuGet.org has started to repository sign new package submissions. Author signed packages will be countersigned by NuGet.org repository signature....
Are your Windows Forms and WPF applications ready for .NET Core 3.0?
Download Portability Analyzer (2.37 MB) At Build 2018 we announced that we are enabling Windows desktop applications (Windows Forms and Windows Presentation Framework (WPF)) with .NET Core 3.0. You will be able to run new and existing Windows desktop applications on .NET Core and enjoy all the benefits that .NET Core has to offer, such as application-local deployment and improved performance. We want to make sure that .NET Core 3.0 includes all the APIs that your applications depend on. So, in order to learn about which APIs are being used, we are releasing Portability Analyzer that will report the set of ...
Announcing ML.NET 0.4
A few months ago we released ML.NET 0.1 at //Build 2018., ML.NET is a cross-platform, open source machine learning framework for .NET developers. We’ve gotten great feedback so far and would like to thank the community for your engagement as we continue to develop ML.NET together in the open. We are happy to announce the latest version: ML.NET 0.4. In this release we’ve improved support for natural language processing (NLP) scenarios by adding the Word Embedding Transform, improved the speed of linear learners like binary classification and linear regression by adding support for the SymSGD learner, made impr...
Tiered Compilation Preview in .NET Core 2.1
If you are a fan of .NET performance there has been a lot great news lately such as Performance Improvements in .NET Core 2.1 and Announcing .NET Core 2.1, but we've got more. Tiered compilation is a significant new performance feature that we are making available as a preview for anyone to try out, starting in .NET Core 2.1. In many scenarios that we have tested, applications start faster and run faster at steady state. All it needs from you is a smidgen of curiosity, a project that runs on .NET Core 2.1, and a trivial change to your environment variables or project file to enable it. In the rest of this post we...
.NET Framework July 2018 Update
Today, we released the July 2018 Update that fixes an issue in .NET Framework 2.0, 3.5, 3.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2. We recommend that you apply this update if you are experiencing the issue described in the known issues Knowledge Base article 4345913 and the Blog Advisory. Quality and Reliability This release contains the following quality and reliability improvements. CLR Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments ...
Announcing F# 4.5 Preview
Accounting for this change on Windows build servers: You may be doing one of the following things to install F# on a Windows build server. Installing the full Visual Studio IDE Installing the F# Compiler SDK MSI Neither of these options have been recommended for some time, but are still available with F# 4.1.
Blazor 0.5.0 experimental release now available
Blazor 0.5.0 is now available! This release explores scenarios where Blazor is run in a separate process from the rendering process. Specifically, Blazor 0.5.0 enables the option to run Blazor on the server and then handle all UI interactions over a SignalR connection. This release also adds some very early support for debugging your Blazor .NET code in the browser!
Advisory on July 2018 .NET Framework Updates
Update as of 7/30/2018: A new .NET Framework July 2018 Update has been released that resolves this advisory. We recommend that you install this update on your systems if you experienced the symptoms described in this advisory. If you did not experience these symptoms, we recommend you wait to update your machines until the next regular update. The July 2018 Security and Quality Rollup updates for .NET Framework was released earlier this month. We have received multiple customer reports of applications that fail to start or don't run correctly after installing the July 2018 update. These reports are specific to ap...
Announcing .NET Framework 4.8 Early Access build 3632
We released the first Early Access build for the .NET Framework 4.8 last month (June-2018) and are happy to announce the next build (3632) for your feedback. This is one of the in-development builds of the next version of the .NET Framework and includes incremental fixes from the last build (3621). You can download the installer and provide feedback using the links below: This pre-release build (3632) includes quality and reliability fixes for BCL, Runtime, SQL Connectivity, Winforms, and WPF. You can view the complete list of improvements in this build in the release notes. Few things to note: ...
Exploring Azure App Service – Azure Diagnostics
Use Application Insights to diagnose performance and errors in your web apps. Azure App Service is a great place to get started hosting and maintaining your web apps. You don’t have to enable App Insights upfront; the option is always there to be turned on when and as needed without re-deployment.
Razor Improvements – Feedback Wanted
Recent releases of Visual Studio 2017 focus greatly on improving the experience of working with Razor. The improvements address the most pressing customer-facing issues like formatting changes and providing general performance and reliability for IntelliSense. Now that the fixes and enhancements are publicly available, we would like to learn more about your experience with the Razor editor.
IL Linker — Help us build the best experience!
We are currently working on the IL Linker and would love to get your feedback. Please fill out the brief survey below and help shape the future of the IL Linker by telling us about your current practices as well as your biggest challenges with the build and deployment processes for your apps. At the end of the survey, you can leave your name and e-mail address (optional) so that an engineer on the .NET team can reach out to you to talk a little bit more about your experiences and thoughts on the topic. The survey should take about 5 minutes to complete! Take the survey now! We appreciate your contribution!
.NET Framework 4.7.2 is available on Windows Update, WSUS and MU Catalog
8/20/2019 Update: The .NET 4.7.2 update has been republished to work around a known issue in Config Manager that resulted in errors when Config Manager tried to sync with an upstream WSUS server. Please note that there is no change to the installers below. Today, we are happy to announce the Microsoft .NET Framework 4.7.2 is available on Windows Update, Windows Server Update Services (WSUS) and Microsoft Update (MU) Catalog. This release includes quality and reliability updates based on early feedback on .NET Framework 4.7.2. .NET Framework 4.7.2 is available for the following client and server p...
.NET Core July 2018 Update
Today, we are releasing the .NET Core July 2018 Update. This update includes .NET Core 1.0.12, .NET Core 1.1.9, .NET Core 2.0.9 and .NET Core 2.1.2. Security .NET Core Security Feature Bypass Vulnerability CVE-2018-8356: Microsoft is aware of a security feature bypass vulnerability that exists when .NET Core does not correctly validate certificates. An attacker who successfully exploited this vulnerability could present an expired certificate when challenged. The update addresses the vulnerability by correcting how .NET Core applications handle certificate validation. ASP.NET Core Security Feature Bypass Vulner...
Announcing ML.NET 0.3
Two months ago, at //Build 2018, we released ML.NET 0.1, a cross-platform, open source machine learning framework for .NET developers. We’ve gotten great feedback so far and would like to thank the community for your engagement as we continue to develop ML.NET together in the open. We are happy to announce the latest version: ML.NET 0.3. This release supports exporting models to the ONNX format, enables creating new types of models with Factorization Machines, LightGBM, Ensembles, and LightLDA, and addressing a variety of issues and feedback we received from the community. The main highlights of ML.NET 0.3 ...
System.IO.Pipelines: High performance IO in .NET
System.IO.Pipelines is a new library that is designed to make it easier to do high performance IO in .NET. It's a library targeting .NET Standard that works on all .NET implementations. Pipelines was born from the work the .NET Core team did to make Kestrel one of the fastest web servers in the industry. What started as an implementation detail inside of Kestrel progressed into a re-usable API that shipped in 2.1 as a first class BCL API (System.IO.Pipelines) available for all .NET developers. What problem does it solve? Correctly parsing data from a stream or socket is dominated by boilerplate code and has ...
Workaround for Bower Version Deprecation
As of June 25, the version of Bower shipped with Visual Studio was deprecated, resulting in Bower operations failing when run in Visual Studio. If you use Bower, you will see an error something like: This will be fixed in Visual Studio 15.8. In the meantime, you can work around the issue by using a new version of Bower or by adding some configuration to each Bower project. The Issue Some time, ago Bower switched their primary registry feed but continued to support both. On June 25th, they turned off the older feed, which the copy in Visual Studio tries to use by default. The Fix There are two options to fi...
NuGet Summer 2018 Roadmap
This blog post provides insights into the NuGet team plans for the upcoming quarter (July - Sep 2018). In the March 2018 NuGet Spring 2018 Roadmap, we had outlined Package Signing, Organizations, Cross-platform credential provider support, Repeatable builds for PackageReference based projects, etc. as our immediate priorities. We were able to complete much of this work over the past few months and have made good progress on others. In this blog post, I would like to summarize our progress and share our plans for the next quarter. Looking back Here is a quick summary of various experiences that we enabled over t...
Changes to script debugging in Visual Studio 15.7
We’re always looking for ways to make developing with Visual Studio faster. One of the tasks developers do many times a day is launching debugging sessions. We identified that script debugging added about 1.5s per F5, but only about 15.5% of people actively debugged script using Visual Studio. Based on the above, in Visual Studio 15.7 we made the decision to turn off script debugging by default to improve the overall experience for most users. If you want to turn the capability back on, you can do it from Tools | Options | Debugging | and check “Enable JavaScript debugging for ASP.NET (Chrome, Edge, and IE): ...
.NET Core 2.1 June Update
We released .NET Core 2.1.1. This update includes .NET Core SDK 2.1.301, ASP.NET Core 2.1.1 and .NET Core 2.1.1. See .NET Core 2.1.1 release notes for complete details on the release. Quality Updates CLI CoreCLR CoreFX WCF Getting the Update The .NET Core 2.1 June 2018 Update is available from the .NET Core 2.1.1 download page. You can always download the latest version of .NET Core at .NET Downloads. Docker Images .NET Docker images have been updated for today’s release. The following repos have been updated. Note: Look at the “Tags” v...
.NET Core 2.0 will reach End of Life on October 1, 2018
Last Updated: 6/22/2018 .NET Core 2.0 was released on August 14, 2017. As a non-LTS release, it is supported for 3 months after the next release. .NET Core 2.1 was released on May 30th, 2018. As a result, .NET Core 2.0 will be supported until September 1, 2018. NEW: Customers have reported a narrow but critical diagnostics issue with .NET Core 2.1 that prevents them updating to .NET Core 2.1. We intend to fix this issue in the .NET Core August 2018 update. Based on that timing, we will extend the .NET Core 2.0 EOL date to October 1, 2018. This extension should give those customers affected by this issues a rema...
The RyuJIT transition is complete!
RyuJIT is the code name for the .NET just-in-time compiler, one of the foundational components of the .NET runtime. In contrast, the Roslyn C# compiler compiles C# code to IL byte code. The RyuJIT compiler compiles IL byte code to machine code for multiple processors. With the recent merge of the dotnet/coreclr #18064 pull request, the remaining legacy code generation components (from older JIT implementations) have been removed from the RyuJIT source code. This PR removed almost 50k lines of code! All four of the processor architectures targeted by RyuJIT (x86, x64, ARM32, ARM64) are now built purely on the Ryu...
Staying up-to-date with .NET Container Images
This post describes the container images that we produce and update for you, that you can use with Docker, Kubernetes and other systems. When you are using .NET and Docker together, you are probably using the official .NET container images from Microsoft. We've made many improvements over the last year to the .NET images that make it easier for you to containerize .NET applications. Last week during DockerCon 2018, I posted an update about Using .NET and Docker Together. It demonstrates how you can use Docker with .NET, for production, development and testing. Those scenarios are all based on the .NET containe...
Using .NET and Docker Together – DockerCon 2018 Update
I posted about Using .NET and Docker Together last year. With DockerCon 2018 being this week, it seemed like a great time to give you an update. Since my last post, we've enabled a set of Docker workflows with guidance and samples for .NET Core and .NET Framework, for development, CI/CD, and production. We also offer many more images for both Windows and Linux. If you haven't taken a look at Docker and .NET recently, now is a good time. Docker and containers come up more and more in conversations that we have with .NET developers. It has become the way to deploy server applications for many people, due to its...
.NET Framework June 2018 Security and Quality Rollup
Today, we are releasing the June 2018 Security and Quality Rollup. Security No new security fixes. See .NET Framework May 2018 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. CLR Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentsor use in web searches. Getting the Update The Security and Quality Rollup is available via Windows Update, Win...
Blazor 0.4.0 experimental release now available
Blazor 0.4.0 is now available! This release includes important bug fixes and several new feature enhancements. New features in Blazor 0.4.0 (details below): A full list of the changes in this release can be found in the Blazor 0.4.0 release notes. Get Blazor 0.4.0 To get setup with Blazor 0.4.0: To install the Blazor templates on the command-line: You can find getting started instructions, docs, and tutorials for Blazor at https://blazor.net. Upgrade an existing project to Blazor 0.4.0 To upgrade an existing Blazor project from 0.3.0 to 0.4.0: ...
Announcing .NET Framework 4.8 Early Access build 3621!
Today, we are happy to share the .NET Framework 4.8 Early Access build 3621 for your feedback. This is one of the in-development builds of the next version of the .NET Framework. The changes in this build have been functionally validated by the .NET teams. We would love your help to ensure this is a high quality and compatible release. This build is not supported for production use. Next steps: This pre-release build 3621 includes improvements in several areas. This includes accessibility improvements in Winforms and WPF areas as well. You can see the complete list of improvements in this build in the re...
Announcing ML.NET 0.2
Last month at //Build 2018, we released ML.NET 0.1, a cross-platform, open source machine learning framework. We would like to thank the community for the engagement so far in helping us shape ML.NET. Today we are releasing ML.NET 0.2. This release focuses on adding new ML tasks like clustering, making it easier to validate models, adding a brand-new repo for ML.NET samples and addressing a variety of issues and feedback we received in the GitHub repo. Some of the highlights with ML.NET 0.2 release are mentioned below. New Machine Learning Tasks: Clustering Clustering is an unsupervised learning task that...
Use Dependency Injection In WebForms Application
Dependency Injection design pattern is widely used in modern applications. It decouples objects to the extent that no client code needs to be changed simply because an object it depends changes to a different one. It brings you a lot of benefits, like reduced dependency, more reusable code, more testable code, etc. in the past, it was very difficult to use Dependency Injection in WebForms application before. Starting from .NET 4.7.2, it is now easy for developers to use Dependency Injection in WebForms applications. With the UnityAdapter, you can add it to your existing WebForms application in 4 simple steps...
Announcing .NET Core 2.1
We're excited to announce the release of .NET Core 2.1. It includes improvements to performance, to the runtime and tools. It also includes a new way to deploy tools as NuGet packages. We've added a new primitive type called that operates on data without allocations. There are many other new APIs, focused on cryptography, compression, and Windows compatibility. It is the first release to support Alpine Linux and ARM32 chips. You can start updating existing projects to target .NET Core 2.1 today. The release is compatible with .NET Core 2.0, making updating easy. ASP.NET Core 2.1 and Entity Framework Core 2.1 ...
Announcing Entity Framework Core 2.1
Today we are excited to announce the release of Entity Framework (EF) Core 2.1. This is the latest production-ready release of our open-source and cross-platform data access technology. We are releasing today alongside .NET Core 2.1 and ASP.NET Core 2.1. EF Core 2.1 targets .NET Standard 2.0 and so also runs on .NET Core 2.0 and .NET Framework 4.6.1 or later. New features More than 500 bug fixes and enhancements have been made since EF Core 2.0 was released. Because EF Core is developed as an open-source project on GitHub, a complete list of these changes can be found in the GitHub issue tracker: ...
ASP.NET Core 2.1.0 now available
Today we're thrilled to announce the release of ASP.NET Core 2.1.0! This is the latest release of our open-source and cross-platform web framework for .NET and it's now ready for production use. Get started with ASP.NET Core 2.1 today! New features in this release include: Check out What's New in ASP.NET Core 2.1 in the ASP.NET Core docs to learn more about these features. For a complete list of all the changes in this release, see the release notes. ASP.NET Core 2.1.0 is available with .NET Core 2.1.0 along with Entity Framework Core 2.1.0, which you can read a...
.NET Framework May 2018 Preview of Quality Rollup for Windows 10 April 2018 Update (version 1803)
Today, we are releasing the May 2018 Preview of Quality Rollup for Windows 10 April 2018 Update (version 1803). Quality and Reliability This release contains the following quality and reliability improvements. CLR WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, and Mic...
Troubleshooting ASP.NET Core Performance Problems
This is a guest post by Mike Rousos I recently had an opportunity to help a developer with an ASP.NET Core app that was functionally correct but slow when under a heavy user load. We found a few different factors contributing to the app's slowdown while investigating, but the majority of the issues were some variation of blocking threads that could have run in a non-blocking way. It was a good reminder for me just how crucial it is to use non-blocking patterns in multi-threaded scenarios like a web app. Beware of Locks One of the first problems we noticed (through CPU analysis with PerfView) was that a lot of ...
Announcing ASP.NET Providers Connected Service Visual Studio Extension
Provider pattern was introduced in ASP.NET 2.0 and it gives the developers the flexibility of where to store the state of ASP.NET features (e.g. Session State, Membership, Output Cache etc.). In ASP.NET 4.6.2, we added async support for Session State Provider and Output Cache Provider. These providers provide much better scalability, and enables the web application to adapt to the cloud environment. Furthermore, , we also released SqlSessionStateProviderAsync, CosmosDBSessionStateProviderAsync, RedisSessionStateProvider and SQLAsyncOutputCacheProvider. Through these providers the web applications can store the...
Introducing signed package submissions to NuGet.org
In September 2017, we announced our plans to improve the security of the NuGet ecosystem by introducing the ability for package authors to sign packages. Today, we want to announce support for any NuGet.org user to submit signed packages to NuGet.org. A signed NuGet package is designed to be fully compatible with pre-existing NuGet servers and clients. Only newer versions of NuGet clients will take advantage of validating package signatures. We added this capability to Visual Studio 2017 15.6 – so we encourage you to upgrade to the latest VS updates to benefit from these added security measures. All the package...
.NET Framework May 2018 Preview of Quality Rollup for Windows 10 1709 (Fall Creators Update)
Today, we are releasing the May 2018 Preview of Quality Rollup for Windows 10 1709 (Fall Creators Update). Quality and Reliability This release contains the following quality and reliability improvements. CLR Networking WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Up...
A Penny Saved is a Ton of Serverless Compute Earned
Scott Guthrie recently shared one of my favorite anecdotes on his Azure Red Shirt Tour. A Microsoft customer regularly invokes 1 billion (yes, that’s with a “B”) Azure Functions per day. The customer reached out to support after the first month thinking there was a bug in the billing system, only to find out that the $72 was in fact correct. How is that possible? Azure Functions is a serverless compute platform that allows you to focus on code that only executes when triggered by events, and you only pay for CPU time and memory used during execution (versus a traditional web server where you are paying a fee even...
.NET Framework May 2018 Preview of Quality Rollup for Windows 10
Today, we are releasing the May 2018 Preview of Quality Rollup for Windows 10 1703 (Creators Update) and Windows 10 1607 (Anniversary Update). Quality and Reliability This release contains the following quality and reliability improvements. CLR Networking WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Serv...
.NET Framework May 2018 Preview of Quality Rollup
Today, we are releasing the May 2018 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. CLR Networking WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services, and Microsoft Update Catalog. Microsoft Up...
NuGet.org will only support MSA/AAD starting June 1st, 2018
We had previously announced the deprecation of NuGet.org's home-grown authentication in favor of Microsoft accounts (MSA) that will allow us to add support for additional security systems such as two-factor authentication (2FA). We will be disabling the NuGet.org's home-grown authentication mechanism starting June 1st, 2018. This means that you can only sign in to NuGet.org using a Microsoft account or an Azure AD account from next month. If you have not yet linked your account to MSA/AAD, do it now! Linking MSA/AAD to an existing account If you have not yet linked your NuGet.org account to a MSA/AAD, you can d...
.NET Core May 2018 Update
Today, we are releasing the .NET Core May 2018 Update. This update includes .NET Core 2.1.200 SDK and ASP.NET Core 2.0.8. Security Microsoft is releasing this security advisory to provide information about a vulnerability in .NET Core and .NET native version 2.0. This advisory also provides guidance on what developers can do to update their applications to remove this vulnerability. Microsoft is aware of a denial of service vulnerability that exists when .NET Framework and .NET Core improperly process XML documents. An attacker who successfully exploited this vulnerability could cause a denial of service against...
.NET Framework May 2018 Security and Quality Rollup
Today, we are releasing the May 2018 Security and Quality Rollup. Security CVE-2018-1039 – Windows Security Feature Bypass Vulnerability A security feature bypass vulnerability exists in Windows which could allow an attacker to bypass Device Guard. An attacker who successfully exploited this vulnerability could circumvent a User Mode Code Integrity (UMCI) policy on the machine. To exploit the vulnerability, an attacker would first have to access the local machine, and then run a malicious program. The update addresses the vulnerability by correcting how Windows validates User Mode Code Integrity policies CVE-201...
F# language and tools update for Visual Studio 2017 version 15.7
We’re excited to share updates about changes to F# and F# tools which shipped with the Visual Studio 2017 version 15.7 release. Let’s dive in! Type Providers now support .NET Standard For those who aren’t familiar with Type Providers, they are a feature of F# which allow you to get IntelliSense for data. When pointed at a data source, a Type Provider can produce an object model for that data. This object model is read by the F# compiler, which can then be used to power IntelliSense. Type Providers can now be .NET Standard components. What this means is that you can use Type Providers in .NET Core apps, .NET ...
Introducing ML.NET: Cross-platform, Proven and Open Source Machine Learning Framework
Today at //Build 2018, we are excited to announce the preview of ML.NET, a cross-platform, open source machine learning framework. ML.NET will allow .NET developers to develop their own models and infuse custom ML into their applications without prior expertise in developing or tuning machine learning models. ML.NET was originally developed in Microsoft Research and evolved into a significant framework over the last decade; it is used across many product groups in Microsoft like Windows, Bing, Azure, and more . With this first preview release, ML.NET enables ML tasks like classification (e.g. text categor...
ASP.NET Core 2.1.0-rc1 now available
Today we’re happy to announce the first release candidate of ASP.NET Core 2.1! This release should be very close to the final stable release of ASP.NET Core 2.1 and includes primarily bug fixes and polish for the features that we shipped in earlier previews. This is a "go live" release that can be used in production with the understanding that you will need to update to the final stable release once it is available. Also, be sure to read about .NET Core 2.1.0-rc1 and Entity Framework Core 2.1.0-rc1. Get started To get started with ASP.NET Core 2.1.0-rc1 download the .NET Core 2.1.0-rc1 SDK Customer...
Announcing Entity Framework Core 2.1 RC 1
Today, we are excited to announce that the first release candidate of EF Core 2.1 is available, alongside .NET Core 2.1 RC 1 and ASP.NET Core 2.1 RC 1, for broad testing, and now also for production use! Go live support EF Core 2.1 RC1 is a "go live" release, which means once you test that your application works correctly with RC1, you can use it in production and obtain support from Microsoft, but you should still update to the final stable release once it's available. Go live support for EF Core RC1 extends to the base functionality in EF Core and to the providers that are developed as part of the Entity F...
.NET Core 3 and Support for Windows Desktop Applications
At Microsoft Build Live today, we are sharing a first look at our plans for .NET Core 3. The highlight of .NET Core 3 is support for Windows desktop applications, specifically Windows Forms, Windows Presentation Framework (WPF), and UWP XAML. You will be able to run new and existing Windows desktop applications on .NET Core and enjoy all the benefits that .NET Core has to offer. We are planning on releasing a first preview of .NET Core 3 later this year and the final version in 2019. We will be looking for developers to partner with us, to give us feedback, and to release versions of your applications in the s...
Announcing .NET Core 2.1 RC 1
Today, we're announcing .NET Core 2.1 Release Candidate 1 (RC 1). The .NET Core 2.1 RC 1 is now ready for broad testing and for production use. Our quality, reliability, and performance testing give us confidence that the release is ready for the first set of production users. On the metrics that we can measure, .NET Core 2.1 is a large step forward from .NET Core 2.0. ASP.NET Core 2.1 RC 1 and Entity Framework 2.1 RC 1 are also releasing today. You can download and get started with .NET Core 2.1 RC 1, on Windows, macOS, and Linux: You can see complete details of the release in the .NET Core 2....
Blazor 0.3.0 experimental release now available
Blazor 0.3.0 is now available! This release includes important bug fixes and many new feature enhancements. New features in this release (details below): A full list of the changes in this release can be found in the Blazor 0.3.0 release notes. Get Blazor 0.3.0 To get setup with Blazor 0.3.0: To install the Blazor templates on the command-line: You can find getting started instructions, docs, and tutorials for Blazor at https://blazor.net. Upgrade an existing project to Blazor 0.3.0 To upgrade an existing Blazor project from 0.2.0 to 0.3.0: Your upgraded Blazor project file shou...
Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5
Today we released ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5 on NuGet. This is a patch release that contains only bug fixes. You can find the full list of bug fixes for this release in the release notes. To update an existing project to use this preview release run the following commands from the NuGet Package Manager Console for each of the packages you wish to update: If you have any questions or feedback on this release please let us know on GitHub. Thanks!
Welcoming SymbolSource to the .NET Foundation
We are excited to welcome SymbolSource.org to the .NET Foundation! SymbolSource has been providing a valuable service to the .NET Community for years with the ability to host Symbols for public NuGet packages on SymbolSource. With recent progress made in several areas, including SymbolSource being published to GitHub and NuGet.org planning a symbol server experience, we are thrilled to announce SymbolSource has joined the .NET Foundation. This post is to explain how the SymbolSource symbol server will exist harmoniously with the upcoming NuGet.org symbol server. With the recent open-sourcing of SymbolSource, the...
Announcing the .NET Framework 4.7.2
Today, we are happy to announce the release of the .NET Framework 4.7.2. It’s included in the Windows 10 April 2018 Update. .NET Framework 4.7.2 is also available on Windows 7+ and Windows Server 2008 R2+. You can download the .NET Framework 4.7.2 The .NET Framework 4.7.2 includes improvements in several areas: For building applications targeting .NET Framework 4.7.2 download the Developer Pack. You can see the complete list of improvements in the .NET Framework 4.7.2 release notes. .NET Framework 4.7.2 will be available on Windows Update in the near future. Docker...
Cosmos DB Solves Common Data Challenges in App Development
When considering how to implement your application with a relational database, it can change how you build it dramatically. Some of these challenges include adding an abstract implementation of the schema in the code, mapping data to objects, building queries, and preventing SQL injection attacks. Wouldn't it be great if there was a way to reduce the number of problems that can arise with data when building your app? Cosmos DB could be the answer for you. Azure Cosmos DB is a fully managed, globally distributed database service that alleviates the common application development stressors of working with data. Cos...
Help us plan the future of .NET!
We’re currently planning our next major .NET releases and would love to hear your feedback on how you interact with .NET Framework and .NET Core today. Please fill out the survey below and help shape our next release by telling us about your biggest challenges and needs. It should only take 5 minutes to complete! Take the survey now! We appreciate your contribution!
Performance Improvements in .NET Core 2.1
Back before .NET Core 2.0 shipped, I wrote a post highlighting various performance improvements in .NET Core 2.0 when compared with .NET Core 1.1 and the .NET Framework. As .NET Core 2.1 is in its final stages of being released, I thought it would be a good time to have some fun and take a tour through some of the myriad of performance improvements that have found their way into this release. Performance improvements show up in .NET Core 2.1 in a variety of ways. One of the big focuses of the release has been on the new type that, along with its friends like , are now at the heart of the runtime and core libr...
.NET Highlights in Visual Studio 2017 version 15.7 Preview 4
As you know we continue to incrementally improve Visual Studio 2017 (version 15), and our 7th significant update is currently well under way with the 4th preview shipping today. As we’re winding down the preview, we’d like to stop and take the time to tell you about all of the great updates that are coming in Visual Studio version 15.7 for .NET projects and ask you to try it and give us any feedback you might have while we still have time to correct things before we ship the final version. From a .NET tools perspective, Visual Studio 2017 version 15.7 brings a lot of great enhancements including: ...
What Happened to Bower?
Bower is a popular package management system for managing static content used by client-side web applications. Visual Studio provides rich support for Bower, including templates and package management tools. In October 2017, there were announcements on Twitter hinting that the Bower platform was being deprecated. While Bower hasn’t gone away, the official website is encouraging people to use different frameworks, even going so far as to provide detailed instructions on “How to migrate away from Bower” and “How to drop Bower support”. In their own words: Though it doesn’t say it explicitly, it implies that B...
Publish Improvements in Visual Studio 2017 version 15.7
Today we released Visual Studio 2017 version 15.7. Our 15.7 update brings some exciting updates for publishing applications from Visual Studio that we’re excited to tell you about, including: Configure settings before publishing When publishing your ASP.NET Core applications to either a folder or Azure App Service you can configure the following settings prior to creating your publish profile: To configure this prior to creating your profile, click the “Advanced…” link on the publish target page to open the Advanced Settings dialog. Publish to a fully managed Linux environment on Azure App...
.NET Core April 2018 Update
Today, we are releasing the .NET Core April 2018 Update. This update includes .NET Core 1.0.11, 1.1.8 and 2.0.7. There are no new security fixes in this update. See April 2018 .NET Updates for other updates. Fixes and Commits CoreFX CoreCLR Getting the Update The .NET Core April 2018 Update is available from the .NET Core download page. You can always download the latest version of .NET Core at .NET Downloads. Docker Images .NET Docker images have been updated for today’s release. The following repos have been updated. Note: Look at the “Tags” view in each repository to see the ...
Library Manager: Client-side content manager for web apps
If you’re developing a modern web app, chances are your app will reference client-side JavaScript and CSS files like jQuery or bootstrap. Maybe you copy these from a previous project, download them, or use Bower. However, with Bower announcing they won’t be offering support into the future, we thought it time to produce a lightweight, effective solution for web developers to easily manage common client-side library files. So, we are previewing a new tool: Library Manager - Available in Visual Studio 2017 v15.8 in the Web Development and .NET Core workloads. Library Manager ("LibMan" for short) is Visual Studio'...
Blazor 0.2.0 release now available
Just a few weeks ago we announced the first preview release of an experimental web UI framework called Blazor. Blazor enables full-stack web development using C# and WebAssembly. So far thousands of web developers have taken on the challenge to try out Blazor and done some pretty remarkable things: The feedback and support from the community has been tremendous. Thank you for your support! Today we are happy to announce the release of Blazor 0.2.0. Blazor 0.2.0 includes a whole bunch of improvements and new goodies to play with. New features in this release include: A full list of the changes ...
Organizations on NuGet.org
We are happy to announce support for Organizations on NuGet.org. This will help businesses and open-source projects collaborate on packages using a single nuget.org identity. Why organizations? NuGet.org used to allow you to create an account and publish packages through that account with little support to manage and publish packages as a team or a group. To overcome the single account - single user limitation, many users shared credentials of the account across the group. Obviously this is not a secure way to collaborate and has no audit trail for package updates across different users. With the deprecation of...
ASP.NET Core 2.1.0-preview2: Improvements to the Kestrel HTTP server
Change default transport to Sockets Building off the improvements to the managed sockets implementation in .NET Core we have changed the default transport in Kestrel from libuv to sockets. As a consequence, the package is no longer part of the metapackage. How to switch back to libuv To continue using libuv as your transport, you will need to add reference to the libuv package and modify your application to use libuv as it's transport. Alternatively, you can reference the metapackage which includes a transitive dependency on the libuv package. SNI support Server Name Indication (SNI) is extension ...
ASP.NET Core 2.1.0-preview2 now available
Today we're very happy to announce that the second preview of the next minor release of ASP.NET Core and .NET Core is now available for you to try out. This second preview includes many refinements based on feedback we received from the first preview we released back in February. You can read about .NET Core 2.1.0-preview2 over on their blog. You can also read about Entity Framework Core 2.1.0-preview2 on their blog. How do I get it? You can download the new .NET Core SDK for 2.1.0-preview2 (which includes ASP.NET Core 2.1.0-preview2) from https://www.microsoft.com/net/download/dotnet-core/sdk-2.1.300...
Announcing Entity Framework Core 2.1 Preview 2
Today we’re releasing the second preview of EF Core 2.1, alongside .NET Core 2.1 Preview 2 and ASP.NET Core 2.1 Preview 2. Thank you so much to everyone who has tried our early builds and has helped shape this release with their feedback and code contributions! The new preview bits are now available in NuGet as individual packages, and as part of the ASP.NET Core 2.1 Preview 2 metapackage and in the .NET Core 2.1 Preview 2 SDK, also released today. Changes since Preview 1 As we announced in February, the first preview contained the initial implementation of all the major features we have planned for the 2...
Announcing .NET Core 2.1 Preview 2
Today, we are announcing .NET Core 2.1 Preview 2. The release is now ready for broad testing, as we get closer to a final build within the next two to three months. We'd appreciate any feedback that you have. ASP.NET Core 2.1 Preview 2 and Entity Framework 2.1 Preview 2 are also releasing today. You can download and get started with .NET Core 2.1 Preview 2, on Windows, macOS, and Linux: You can see complete details of the release in the .NET Core 2.1 Preview 2 release notes. Known issues and workarounds are included in the releases notes. You can develop .NET Core 2.1 apps with Visual Studio...
Explore Azure Cosmos DB with .NET Core and MongoDB
Have you had to design general purpose "metadata" tables in your SQL database that basically store column names and values? Do you often serialize/de-serialize XML or JSON from your SQL tables to handle volatile schemas and data? .NET developers have traditionally worked with relational database management systems (RDMS) like SQL Server. RDMS systems have withstood the test of time and are production-ready. Like many tools, however, RDMS systems aren't always the best solution. You may benefit from a different approach called NoSQL. Contrary to popular belief, NoSQL doesn't mean "NO SQL" but rather "Not Only SQL....
Migrate to PackageReference with 3 clicks
Last year, we introduced the option to make PackageReference the default package management format for managing NuGet dependencies when installing the first NuGet package for a newly created projects. With Visual Studio Version 15.7 Preview 3, we have introduced the capability to migrate existing projects that use the format to use PackageReference instead. Benefits of using PackageReference include: Migrate your projects to PackageReference today! To try out the new migration experience, download Visual Studio 2017 Preview, open a based project, right-click the References node in Solution Explorer,...
.NET Framework December 5, 2018 Cumulative Update for Windows 10 version 1809 and Windows Server 2019
Today, we are releasing the December 5, 2018 .NET Framework Cumulative Update for Windows 10 version 1809 and Windows Server 2019. For more information about the new Cumulative Updates for .NET Framework for Windows 10 version 1809 and Windows Server 2019 please refer to this recent announcement. Quality and Reliability This release contains the following quality and reliability improvements. CLR SQL WCF WPF Winforms Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ...
Calling all Desktop Developers: how should UI development be improved?
The user interface (UI) of any application is critical in making your app convenient and efficient for the folks using it. When developing applications for Enterprise use, a good UI can shave time off an entire company’s workflow. Visual Studio is investing in new tools to improve the productivity of Windows desktop developers and we’d love your help to make sure the improvements we make are the right ones. Please fill out our Desktop Developer Survey. It takes 1-2 mins to fill out. It will give us a sense of the kind of applications you build. We will be reaching out to people that respond so that you can help ...
Get started building .NET web apps that run in the browser with Blazor
For up to date instructions on how to get started with Blazor, please go to https://blazor.net. Today we released our first public preview of Blazor, a new experimental .NET web framework using C#/Razor and HTML that runs in the browser with WebAssembly. Blazor enables full stack web development with the stability, consistency, and productivity of .NET. While this release is alpha quality and should not be used in production, the code for this release was written from the ground up with an eye towards building a production quality web UI framework. In this release we've laid the ground work for the Blazor compo...
ASP.NET Core manageability and Application Insights improvements
There are many great investments on the ASP.NET Core 2.1 roadmap. These investments make ASP.NET Core applications easier to write, host, test, and make security and standards compliant. This blog post talks about areas of investments in manageability and monitoring space. It covers ASP.NET Core, .NET, and Application Insights SDK for ASP.NET Core features and spans beyond 2.1 milestone. The main themes of manageability improvements across the application stack are: Let’s dig into the improvements made and the roadmap ahead in these areas. Distributed tracing ASP.NET Core 2.0 appli...
Incident report – NuGet.org downtime on March 22, 2018
We did this blog post to report about the incident that happened on March 22, 2018. In the last couple of days we digged deeper into the incident. Here is the summary of our findings and proposed next steps. Customer Impact NuGet.org website and V2 APIs were unavailable for 2 hours on March 22, 2018 between 8:45AM - 11:30AM UTC. More than 1.5 million requests failed. What Happened? On March 22nd, a certificate used internally for authentication with Key Vault expired. It was rotated on all components except for a single Search service. This triggered a chain reaction that made the Gallery service unavailable,...
Announcing Preview 1 of ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5
Today we released Preview 1 of ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5 on NuGet. This is a patch release that contains only bug fixes. You can find the full list of bug fixes for this release in the release notes. To update an existing project to use this preview release run the following commands from the NuGet Package Manager Console for each of the packages you wish to update: Please try out Preview 1 of ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5 and let us know what you think. Any feedback can be submitted as issues on GitHub. Assuming everything with this preview goes smoothly, w...
.NET Framework 4.7.2 Developer Pack Early Access build 3056 is available!
Today, we are happy to share an Early Access build with the .NET Framework 4.7.2 Developer Pack. The .NET Framework 4.7.2 Developer Pack lets developers build applications that target the .NET Framework 4.7.2 by using Visual Studio 2017, Visual Studio 2015 or other IDEs. This is a single package that bundles the .NET Framework 4.7.2, the .NET 4.7.2 Targeting Pack, and the .NET Framework 4.7.2 SDK. We would love your help to ensure this is a high quality and compatible release. Next steps: The main difference between the build 3052 we shared few weeks back and this build is the Developer Pack. Thi...
F# language and tools update for Visual Studio 2017 version 15.6
With the release of Visual Studio 2017 version 15.6, we’re excited to share updates to the F# language and core library, F# tooling in Visual Studio, and infrastructure updates that concern OSS contributors. Let’s dive in! F# language and core library updates Some foundational changes for the F# language and core library have been made, in addition to smaller behavioral language changes and added features to FSharp.Core. Versioning changes We have drafted and implemented a versioning change for F# moving forward. There are two major changes involved: To do this, we will rev the F# langu...
ASP.NET Core 2.1.0-preview1: Functional testing of MVC applications
For ASP.NET Core 2.1 we have created a new package, Microsoft.AspNetCore.Mvc.Testing, to help streamline in-memory end-to-end testing of MVC applications using . This package takes care of some of the typical pitfalls when trying to test MVC applications using TestServer. Create a test project To try out the new MVC test fixture, let's create an app and write an end-to-end in-memory test for the app. First, create an app to test. Add an xUnit based test project. Create a solution file and add the projects to the solution. Add a reference from the test project to the app we're going to...
ASP.NET Core 2.1.0-preview1: GDPR enhancements
2018 sees the introduction of the General Data Protection Regulation, an EU framework to allow EU citizens to control, correct and delete their data, no matter where in the word it is held. In ASP.NET Core 2.1 Preview 1 we’ve added some features to the ASP.NET Core templates to allow you to meet some of your GDPR obligations, as well as a cookie “consent” features to allow you to annotate your cookies and control whether they are sent to the user based on their consent to have such cookies delivered. HTTPS In order to help keep users' personal data private, ASP.NET Core configures new projects to be served over...
ASP.NET Core 2.1.0-preview1: Introducing Identity UI as a library
ASP.NET Core has historically provided project templates with code for setting up ASP.NET Core Identity, which enables support for identity related features like user registration, login, account management, etc. While ASP.NET Core Identity handles the hard work of dealing with passwords, two-factor authentication, account confirmation, and other hairy security concerns, the amount of code required to setup a functional identity UI is still pretty daunting. The most recent version of the ASP.NET Core Web Application template with Individual User Accounts setup has over 50 files and a couple of thousand lines of c...
ASP.NET Core 2.1.0-preview1: Razor UI in class libraries
One frequently requested scenario that ASP.NET Core 2.1 improves is building UI in reusable class libraries. With ASP.NET Core 2.1 you can package your Razor views and pages (.cshtml files) along with your controllers, page models, and data models in reusable class libraries that can be packaged and shared. Apps can then include pre-built UI components by referencing these packages and customize the UI by overriding specific views and pages. To try out building Razor UI in a class library first install the .NET Core SDK for 2.1.0-preview1. Create an ASP.NET Core Web Application by running or selecting the corr...
NuGet Spring 2018 Roadmap
In August 2017, we published the NuGet Fall 2017 Roadmap where we outlined our backlog for the upcoming quarter. Since then, we’ve published specifications for these experiences on GitHub for the community to review. You have provided a ton of great feedback that has helped us ensure we deliver the right experiences. Thank you for your continued involvement and feedback! In this post, I would like to briefly summarize our progress on our Fall 2017 roadmap and discuss what we plan to build over the next quarter leading up to early Summer (May 2018). Looking back Here is a quick summary of the various experience...
ASP.NET Core 2.1.0-preview1: Improvements to IIS hosting
The ASP.NET Core Module (ANCM) is a global IIS module that has been responsible for proxying requests over from IIS to your backend ASP.NET Core application running Kestrel. Since 2.0 we have been hard at work to bring to two major improvements to ANCM: version agility and performance. Note, that in the 2.1.0-preview1 release, we have chosen not to update the global module by default, to avoid impacting any existing 1.x/2.0 applications at this early stage. This post details the changes in ANCM and how you can opt-in to trying out these changes today. Version agility It has bee...
ASP.NET Core 2.1-preview1: Introducing HTTPClient factory
HttpClient factory is an opinionated factory for creating HttpClient instances to be used in your applications. It is designed to: 1. Provide a central location for naming and configuring logical HttpClients. For example, you may configure a client that is pre-configured to access the github API. 2. Codify the concept of outgoing middleware via delegating handlers in HttpClient and implementing Polly based middleware to take advantage of that. 1. HttpClient already has the concept of delegating handlers that could be linked together for outgoing HTTP requests. The factory will make registering of these p...
ASP.NET Core 2.1.0-preview1: Improvements for building Web APIs
ASP.NET Core 2.1 adds a number of features that make it easier and more convenient to build Web APIs. These features include Web API controller specific conventions, more robust input processing and error handling, and JSON patch improvements. Please note that some of these features require enabling MVC compatibility with 2.1, so be sure to check out the post on MVC compatibility versions as well. [ApiController] and ActionResult ASP.NET Core 2.1 introduces new Web API controller specific conventions that make Web API development more convenient. These conventions can be applied to a controller using the new ...
ASP.NET Core 2.1.0-preview1: Introducing compatibility version in MVC
This post was written by Ryan Nowak In 2.1 we're adding a feature to address a long-standing problem for maintaining MVC - how do we make improvements to framework code without making it too hard for developers to upgrade to the latest version? This is not an easy concern to solve - and with 7 major releases of MVC (dating back to 2009) there are a few things we'd like to leave in the past. Unlike most other parts of ASP.NET Core, MVC is a framework - our code calls your code in lots of idiosyncratic ways. If we change what methods we call or in what order, or how we handle exceptions - it's very easy for worki...
ASP.NET Core 2.1.0-preview1: Getting started with SignalR
Since 2013, ASP.NET developers have been using SignalR to build real-time web applications. Now, with ASP.NET Core 2.1 Preview 1, we're bringing SignalR over to ASP.NET Core so you can build real-time web applications with all the benefits of ASP.NET Core. We released an alpha version of this new SignalR back in October that worked with ASP.NET Core 2.0, but now it's ready for a broader preview and built-in to ASP.NET Core 2.1 (no additional NuGet packages required!). This new version of SignalR gave us a chance to significantly redesign some elements and learn from the lessons of the past, but the core APIs you ...
ASP.NET Core 2.1.0-preview1: Using ASP.NET Core Previews on Azure App Service
There are 3 options to get ASP.NET Core 2.1 Preview applications running on Azure App Service: 1. Installing the Preview1 site extension 2. Deploying your app self-contained 3. Using Web Apps for Containers Installing the site extension Starting with 2.1-preview1 we are producing an Azure App Service site extension that contains everything you need to build and run your ASP.NET Core 2.1-preview1 app. You can install this site extension by: Note: the name of this extension was changed for Preview2. It is now ASP.NET Core 2.1 (X86) Runtime. If you have already deployed an ASP.NET Core Preview then you ...
Announcing Entity Framework Core 2.1 Preview 1
Today we are releasing the first preview of EF Core 2.1, alongside .NET Core 2.1 Preview 1 and ASP.NET Core 2.1 Preview 1. The new bits are available in NuGet as part of the individual packages, and as part of the ASP.NET Core meta-packages (both Microsoft.AspNetCore.All and the new Microsoft.AspNetCore.App), and included in the .NET Core SDK. The majority of the new features of EF Core 2.1 are present and ready to try in Preview 1: We want to maximize the exposure of the new features to you, our customers, and the amount of time we will have to address your feedback before the final release. We would like ...
Announcing .NET Core 2.1 Preview 1
Today, we are announcing .NET Core 2.1 Preview 1. It is the first public release of .NET Core 2.1. We have great improvements that we want to share and that we would love to get your feedback on, either in the comments or at dotnet/core #1297. ASP.NET Core 2.1 Preview 1 and Entity Framework 2.1 Preview 1 are also releasing today. You can download and get started with .NET Core 2.1 Preview 1, on Windows, macOS, and Linux: You can develop .NET Core 2.1 apps with Visual Studio 2017 15.6 Preview 6 or later, or Visual Studio Code. We expect that Visual Studio for Mac support will be added with Visua...
ASP.NET Core 2.1.0-preview1: Improvements for using HTTPS
Securing web apps with HTTPS is more important than ever before. Browser enforcement of HTTPS is becoming increasingly strict. Sites that don't use HTTPS are increasingly labeled as insecure. Browsers are also starting to enforce that new and existing web features must only be used from an secure context (Chromium, Mozilla). New privacy requirements like the Global Data Protection Regulation (GDPR) require the use of HTTPS to protect user data. Using HTTPS during development also helps prevent HTTPS related issues before deployment, like insecure links. ASP.NET Core 2.1 makes it easy to both develop your ap...
ASP.NET Core 2.1.0-preview1 now available
Today we're very happy to announce that the first preview of the next minor release of ASP.NET Core and .NET Core is now available for you to try out. We've been working hard on this release over the past months, along with many folks from the community, and it's now ready for a wider audience to try it out and provide the feedback that will continue to shape the release. You can read about .NET Core 2.1.0-preview1 over on their blog. You can also read about Entity Framework Core 2.1.0-preview1 on their blog. How do I get it? You can download the new .NET Core SDK for 2.1.0-preview1 (which includes AS...
Calling All Desktop Developers: How do you interact with data?
Connecting to databases and services is an important part of desktop application development for many of our customers. Visual Studio provides a variety of tools and technologies that can help you connect to and interact with your different data sources. We’d love your help in shaping our future offerings in this space! Please fill out the survey below so we can learn more about what you currently use, your biggest challenges, and your future plans. It should only take 5 minutes to complete! Take the survey now! We appreciate your contribution!
Deprecating NuGet.org authentication
As announced in our NuGet Fall 2017 Roadmap blog post, we are transitioning away from NuGet.org’s home-grown authentication mechanism which will eventually allow us to add support for additional security systems such as two-factor authentication (2-FA). In preparation for this transition, we had already added support for Microsoft accounts (MSA) to sign in to NuGet.org and are now announcing support for Azure Active Directory (AAD) that can be used to sign in to NuGet.org. We recommend that all NuGet.org publishers start using either MSA or AAD to manage their accounts as soon as possible. We will ensure a smooth...
Azure Blob Storage as a Network Drive
Many applications make use of a network drive to backup and store files. When I was in university I found myself constantly coding for fun, and one example took the form of a network share for my roommates to share files wrapped in a handy little app. Unfortunately, that particular app has long since been erased from whichever hard drive it was initially birthed. Fortunately, I think we can reinvent this magical piece of software (albeit to a scoped degree) with Azure Blob Storage. In the past, network drives did the trick, but Azure Storage offers users automatic backups, better flexibility and global availabil...
.NET Framework February 2018 Security and Quality Rollup
Today, we are releasing the February 2018 Security and Quality Rollup. Security No new security fixes. See .NET Framework January 2018 Security and Quality Rollup for the latest security updates. Quality and Reliability This release contains the following quality and reliability improvements. It includes the same quality improvements that were part of the January 2018 Preview of Quality Rollup. ASP.NET Identity SQL WCF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Suppo...
Machine Learning in .NET – Help us build the right experience!
In the past few years, Machine Learning (ML) and Artificial Intelligence (AI) have paved the road for building smarter applications through advancements in speech recognition, computer vision, intelligent search and much more. So far the ability to build models has largely been limited to data scientists, as a part of the .NET platform moving forward we want to democratize this capability for all .NET developers. With this vision in mind, we in the .NET team are currently trying to understand common cases of how you are exploring ML and AI. Please tell us about your scenarios and get involved through the survey ...
Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4
Today we released stable packages for ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4 on NuGet. This release contains some minor bug fixes and a couple of new features specifically targeted at enabling .NET Standard support for the ASP.NET Web API Client. You can read about the .NET Standard support for the ASP.NET Web API Client in the earlier preview announcement. For the full list of features and bug fixes for this release please see the release notes. To update an existing project to use this release you can run the following commands from the NuGet Package Manager Console for each of the packages you...
Two Lesser Known Tools for Local Azure Development
If you’re developing applications that target Azure services (e.g. Web Apps, Functions, Storage), you’ll want to know about two powerful tools that come with Visual Studio 2017 and the Azure development workload: * Cloud Explorer is a tool window inside Visual Studio that lets you browse your Azure resources and perform specific tasks – like stop and start app service, view streaming logs, create storage items. * Storage Emulator is a separate application to Visual Studio that provides a local simulation of the Azure storage services. It’s really handy for testing Functions that trigger from queues, blobs or tabl...
File nesting in Solution Explorer
We are excited to share with you a new capability in Visual Studio that was a clear ask from you, the community. Visual Studio has been nesting related files in Solution Explorer for a long time now, but not everybody agrees with the rules it uses. That's not a problem any more because Visual Studio now gives you** complete control over file nesting in Solution Exporer! We hope your continued feedback helps us evolve this capability into a fan favorite! Out of the box you get to pick between the presets Off, Default and Web**, but you can always** customize it exactly to your liking.** You can even create soluti...
Diagnosing Errors on your Cloud Apps
One of the most frustrating experiences is when you have your app working on your local machine, but when you publish it it’s inexplicably failing. Fortunately, Visual Studio provides handy features for working with apps running in Azure. In this blog I’ll show you how to leverage the capabilities of Cloud Explorer to diagnose issues in Azure. If you’re interested in developing apps in the cloud, we’d love to hear from you. Please take a minute to complete our one question survey. Prerequisites - If you want to follow along, you’ll need Visual Studio 2017 with Azure development workload installed. - This blog a...
A new experiment: Browser-based web apps with .NET and Blazor
Today I’m excited to announce a new experimental project from the ASP.NET team called Blazor. Blazor is an experimental web UI framework based on C#, Razor, and HTML that runs in the browser via WebAssembly. Blazor promises to greatly simplify the task of building fast and beautiful single-page applications that run in any browser. It does this by enabling developers to write .NET-based web apps that run client-side in web browsers using open web standards. If you already use .NET, this completes the picture: you’ll be able to use your skills for browser-based development in addition to existing scenarios for se...
Learn how to do Image Recognition with Cognitive Services and ASP.NET
With all the talk about artificial intelligence (AI) and machine learning (ML) doing crazy things, it’s easy to be left wondering, “what are practical ways I can use this today?" It turns out there are some extremely easy ways to try this today. In this post, I’ll walk through how to detect faces, gender, ages, and hair color in photos, by adding only a few lines of code to an ASP.NET app. Images will be uploaded and shown in an image gallery built with ASP.NET, images will be hosted in Azure Storage, and Azure Cognitive Services will be used to analyze the images. The full application is available on GitHub. To ...
Announcing .NET Framework 4.7.2 Early Access build 3052!
Today, we are happy to share the .NET Framework 4.7.2 Early Access build 3052 for your feedback. .NET Framework 4.7.2 is the next version of the .NET Framework. It is currently feature-complete and in the testing phase. We would love your help to ensure this is a high quality and compatible release. This release is feature complete and in the testing phase but is not supported for production use. Next steps: This pre-release build 3052 includes improvements in several areas. Here's a representative set and we will share further information on these features in the subsequent weeks. ...
Entity Framework Core 2.1 Roadmap
As mentioned in the announcement of the .NET Core 2.1 roadmap earlier today, at this point we know the overall shape of our next release and we have decided on a general schedule for it. As we approach the release of our first preview later this month, we also wanted to expand on what we have planned for Entity Framework Core 2.1. New features Although EF Core 2.1 is a minor release that builds over the foundational 2.0, it introduces significant new capabilities: Other improvements and new initiatives Besides the major new features included in 2...
.NET Core 2.1 Roadmap
The .NET team has been working on the .NET Core 2.1 release for the last several months on GitHub. We know that many of you have been using .NET Core 2.0 since it shipped in August of last year and want to know what is coming next. The team has done enough work now that we know the overall shape of the next release. Like past releases, the .NET community has contributed many important improvements. Thanks so much! We have been thinking of .NET Core 2.1 as a feedback-oriented release after the more foundational .NET Core 2.0 release. The following improvements are based on some of the most common feedback. ...
ASP.NET Core 2.1 roadmap
Five months ago, we shipped ASP.NET Core 2.0 as a foundational release for our high performance, cross-platform web framework for .NET and .NET Core. Since then we have been hard at work to deliver the next wave of features in ASP.NET Core 2.1. Below is an outline of the features and improvements that are planned for this release, which is targeted for mid-year 2018. Contents: You can read about the roadmap for .NET Core 2.1 and EF Core 2.1 on the .NET team blog. A few of us also recorded an On.NET show to introduce .NET Core 2.1, AS...
NuGet.org package publishing workflow – behind the scenes
In December 2017, we changed the NuGet.org backend publishing pipeline to introduce a set of validation steps for submitted packages. Our goal is to maintain the same level of experience in terms of the time and effort it would take to publish a package and have it available for download. However, these new validation steps caused a few incidents that resulted in significant delays in the publishing workflow. We wanted to share the reasons why the experience has changed over the last few months and the continuous improvements we have been making since then, based on our learnings. Background When a package is s...
January 2018 Preview of Quality Rollup
We recently released the January 2018 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET Identity SQL WCF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentsor use in web searches. Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update Services, Microsoft Update Catalog, and Docker. Microsoft Update Cat...
Azure Storage for Serverless .NET Apps in Minutes
Azure Storage is a quick and effortless way to store data for applications that has high availability, is secure, scales and is redundant. This blog post walks through a simple application that creates a short code for a long URL to easily reference it. It uses Table Storage to map codes to URLs and a Queue to process redirect counts. Everything is handled by serverless Azure Functions. The only prerequisite to build and run locally is Visual Studio 2017 15.5 or later, including the Azure Developer workload. That will automatically install the Azure Storage Emulator you can use to program against tables, queues, ...
.NET Framework January 2018 Security and Quality Rollup
Updated: January 25, 2018 Today, we are releasing the January 2018 Security and Quality Rollup. An issue with the January 2018 Monthly Rollup was found on Windows 7 and Windows Server 2008 R2 if .NET Framework 4.7.1 was already installed. It has been resolved. The download links for these Windows versions have been updated in the table below. A fixit tool has also be released to fix affected machines. See .NET Framework January 2018 Rollup Known Issue KB4074906 - "TypeInitializationException" or "FileFormatException" error in WPF applications for more information. See .NET Framework 4.7.1 is available on...
.NET for UWP January 2018 Update
Today, we are releasing the .NET for UWP January 2018 Update. This post includes the fix included and instructions on how to update your applications. Security CVE-2018-0786 – Security Feature Bypass in X509 Certificate Validation Microsoft is aware of a security vulnerability in the public versions of .NET Core where an attacker could present a certificate that is marked invalid for a specific use, but a component uses it for that purpose. This action disregards the Enhanced Key Usage tagging. The security update addresses the vulnerability by ensuring that .NET Core components completely validate certificates...
64 bit ASP.NET Core on Azure App Service
When creating an Azure App Service .NET Core is already pre-installed. However, only the 32 bit .NET runtime is installed. In this post we will look at a few ways that you can get a 64 bit runtime on Azure App Service During the 2.1 timeframe we are hoping to have both 32 and 64 bit runtimes installed as well as enabling the portal experience to switch between the two. 1. Deploy a self-contained application Self-contained deployments don't require .NET Core to be installed on a machine, because they carry the runtime they need with them. Because of this you can deploy a 64bit self-contained deployment to...
.NET Framework 4.7.1 is available on Windows Update, WSUS and MU Catalog!
Today, we are happy to announce the Microsoft .NET Framework 4.7.1 is available on Windows Update, Windows Server Update Services (WSUS) and Microsoft Update (MU) Catalog. This includes reliability fixes based on your early feedback on the release. .NET Framework 4.7.1 is available for the following client and server platforms: These reliability fixes are also available on Download Center as a standalone update (KB4054856). If you installed .NET Framework 4.7.1 via Download Center, please install KB4054856. This update applies on the client and server platforms mentioned above. .NET Framework 4.7.1 is ...
.NET Core January 2018 Update
Today, we are releasing the .NET Core January 2018 Update. This includes .NET Core 1.0.9, 1.1.6 and 2.0.5. Please leave feedback on the release in the comments below or at dotnet/core #1199. Security CVE-2018-0786 - Security Feature Bypass in X509 Certificate Validation Microsoft is aware of a security vulnerability in the public versions of .NET Core where an attacker could present a certificate that is marked invalid for a specific use, but a component uses it for that purpose. This action disregards the Enhanced Key Usage tagging. The security update addresses the vulnerability by ensuring that .NET Core co...
Announcing Preview 1 of ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4
Today we are releasing Preview 1 of ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4 on NuGet. This release contains some minor bug fixes and a couple of new features specifically targeted at enabling .NET Standard support for the ASP.NET Web API Client. You can find the full list of features and bug fixes for this release in the release notes. To update an existing project to use this preview release run the following commands from the NuGet Package Manager Console for each of the packages you wish to update: ASP.NET Web API Client support for .NET Standard The ASP.NET Web API Client package provides ...
Take a Break with Azure Functions
So, it's the Holidays. The office is empty, the boss is away, and you've got a bit of free time on your hands. How about learning a new skill and having some fun? Azure Functions are a serverless technology that executes code based on various triggers (i.e. a URL is called, an item is placed on a queue, a file is added to blob storage, a timer goes off.) There's all sorts of things you can do with Azure Functions, like running high CPU-bound calculations, calling various web services and reporting results, sending messages to groups - and nearly anything you can imagine. But unlike traditional applications and s...
Testing ASP.NET Core MVC web apps in-memory
This post was written and submitted by Javier Calvarro Nelson, a developer on the ASP.NET Core MVC team Testing is an important part of the development process of any application. In this blog post we are going to explore how we can test ASP.NET Core MVC applications using an in-memory server. This approach has several advantages: The main shortcoming of this approach is that is not well suited to test applications that heavily rely on JavaScript. That said, if you are writing a traditional web application or an API then all the benefits mentioned above apply. For testing MVC applications we are going t...
Migrating your existing .NET application to the cloud? Tell us about it!
Hi everyone! The .NET team is conducting a survey to learn more about your approach for moving existing .NET applications to the cloud. The survey should take less than 5 minutes to complete. Take the Survey now! The survey will also allow you to provide your contact details which will allow a .NET team member to reach out to you and help you explore the various cloud migration options available for your application. We have already worked with a few customers and would like to extend this to all our customers!
Configuring HTTPS in ASP.NET Core across different platforms
As the web moves to be more secure by default it's more important than ever to make sure your websites have HTTPS enabled. And if you're going to use HTTPS in production its a good idea to develop with HTTPS enabled so that your development environment is as close to your production environment as possible. In this blog post we're going to go through how to setup an ASP.NET Core app with HTTPS for local development on Windows, Mac, and Linux. This post is primarily focused on enabling HTTPS in ASP.NET Core during development using Kestrel. When using Visual Studio you can alternatively enable HTTPS in the Debug ...
Improve website performance by optimizing images
We all want our web applications to load as fast as possible to give the best possible experience to the users. One of the steps to achieve that is to make sure the images we use are as optimized as possible. If we can reduce the file size of the images then we can significantly reduce the weight of the website. This is important for various reasons, including: To optimize images is always better for the user and therefore for you too, but it’s something that is easy to forget to do and a bit cumbersome. So, let’s look at a couple of options that are simple to use. All these options use ...
Orchard Core Beta 1 released
This is a guest post by Sebastien Ros on behalf of the Orchard community Two years ago, the Orchard community started developing Orchard on .NET Core. After 1,500 commits, 297,000 lines of code, 127 projects, we think it's time to release a public version, namely Orchard Core Beta 1. What is Orchard Core? If you know what Orchard and .NET Core are, then it might seem obvious: Orchard Core is a redevelopment of Orchard on ASP.NET Core. Orchard Core consists of two different targets: It's important to note the differences between the framework and the CMS. Some developers who want to develop SaaS applications w...
Announcing .NET 4.7.1 Tools for the Cloud
Today we are releasing a set of providers for ASP.NET 4.7.1 that make it easier than ever to deploy your applications to cloud services and take advantage of cloud-scale features. This release includes a new CosmosDb provider for session state and a collection of configuration builders. A Package-First Approach With previous versions of the .NET Framework, new features were provided “in the box” and shipped with Windows and new versions of the entire framework. This means that you can be assured that your providers and capabilities were available on every current version of Windows. It also means that you ha...
Announcing the Windows Compatibility Pack for .NET Core
Porting existing code to .NET Core used to be quite hard because the available API set was very small. In .NET Core 2.0, we already made this much easier, thanks to .NET Standard 2.0. Today, we're happy to announce that we made it even easier with the Windows Compatibility Pack, which provides access to an additional 20,000 APIs via a single NuGet package. Who is this package for? This package is meant for developers that need to port existing .NET Framework code to .NET Core. But before you start porting, you should understand what you want to accomplish with the migration. Just porting to .NET Core because it...
UPDATE – Microservices and Docker containers: Architecture, Patterns and Development guidance (Updated for .NET Core 2.0)
Nov. 15th 2017 update Earlier this year, we published this eBook/guide and sample application offering guidance for architecting microservices and Docker containers based applications. We have recently published updates to the eBook (2nd edition) and sample application to bring them in line with the latest releases of .NET Core 2.0 and many other updates coming along as part of the same "wave" of technologies. Read the list of the many updates in the updated blog post and download the new 2nd edition eBook from there.
UPDATE – Web Applications with ASP.NET Core Architecture and Patterns guidance (Updated for ASP.NET Core 2)
Nov. 15th 2017 update Earlier this year, we published an eBook/Guide and sample application offering guidance named Architecting Modern Web Applications with ASP.NET Core and Microsoft Azure. We have recently published updates to the eBook (2nd edition) and sample application to bring them in line with the latest releases of ASP.NET Core 2.0 and Entity Framework Core 2.0. Check it out the list of updated features at the updated blog post and download the new 2nd edition eBook from there.
Introducing Tensor for multi-dimensional Machine Learning and AI data
Overview Tensor is an exchange type for homogenous multi-dimensional data for 1 to N dimensions. The motivation behind introducing Tensor<T> is to make it easy for Machine Learning library vendors like CNTK, Tensorflow, Caffe, Scikit-Learn to port their libraries over to .NET with minimal dependencies in place. Tensor<T> is designed to provide the following characteristics. If you familiar with recent work with Memory<T>, Tensor<T> can be thought of as extending Memory<T> for multiple dimensions and sparse data. Primary attributes for defini...
Introducing Nullable Reference Types in C#
Today we released a prototype of a C# feature called "nullable reference types", which is intended to help you find and fix most of your null-related bugs before they blow up at runtime. We would love for you to install the prototype and try it out on your code! (Or maybe a copy of it! 😄) Your feedback is going to help us get the feature exactly right before we officially release it. Read on for an in-depth discussion of the design and rationale, and scroll to the end for instructions on how to get started! The billion-dollar mistake Tony Hoare, one of the absolute giants of computer science and recipient of th...
Announcing F# support for .NET Core and .NET Standard projects in Visual Studio
We're pleased to announce that Visual Studio 2017 15.5 Preview 4 now supports F# projects targeting .NET Core, .NET Standard, and .NET Framework through the .NET Core SDK. Some of you have noticed various levels of this support in the first, second, and third previews. We still had a few work items left to complete when those were released, so we didn't announce the support at that time. These work items are now complete! Get started Firstly, support for F# is now included by default in any Visual Studio workload which requires the .NET Core SDK. The .NET Core workload, ASP.NET workload, and Azure workload will...
Improvements to Azure Functions in Visual Studio
We're excited to announce several improvements to the Azure Functions experience in Visual Studio as part of the latest update to the Azure Functions tools on top of Visual Studio 2017 v15.5. New Function project dialog To make it easier to get up and running with Azure Functions, we've introduced a new Functions project dialog. Now, when creating a Functions project, you can choose one that starts with the one of the most popular trigger types (Http, Queue or Timer). If you’re looking for something different choose the Empty project, then add the item after project creation. Additiona...
Welcome to C# 7.2 and Span
C# 7.2 is the latest point release of C#, and adds a number of small but useful features. All the features are described in wonderful detail in the docs. Start with the overview, What's new in C# 7.2, which gives you an excellent introduction to the new set of capabilities. It is worth celebrating that a significant portion of the docs are community contributed, not least the material on the new access modifier. The dominant theme of C# 7.2 centers on improving expressiveness around working with structs by reference. This is important in particular for high performance scenarios, where structs help avoid the g...
.NET Core November 2017 Update
Today, we are releasing the .NET Core November Update. This includes .NET Core 1.0.8, 1.1.5 and 2.0.1 and .NET Core SDK 1.1.5 and 2.0.3. Details regarding the security issues addressed by this release can be seen in the Security Advisory announcement. Security CVE-2017-8585 -- Malformed Certificate can cause Denial of Service Microsoft is releasing this security advisory to provide information about a vulnerability in the public versions of .NET Core 1.0 and 1.1, and 2.0. This advisory also provides guidance on what developers can do to update their applications correctly. Microsoft is aware of a security vulne...
.NET Framework November 2017 Security and Quality Rollup
Today, we are releasing the November 2017 Security and Quality Rollup. Security This release contains no new security updates. The most recent .NET security updates were shipped with the September 2017 Security and Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. CLR WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentsor use in web searches. Security Compliance Guidan...
Creating a Minimal ASP.NET Core Windows Container
This is a guest post by Mike Rousos One of the benefits of containers is their small size, which allows them to be more quickly deployed and more efficiently packed onto a host than virtual machines could be. This post highlights some recent advances in Windows container technology and .NET Core technology that allow ASP.NET Core Windows Docker images to be reduced in size dramatically. Before we dive in, it's worth reflecting on whether Docker image size even matters. Remember, Docker images are built by a series of read-only layers. When using multiple images on a single host, common layers will be shared, so m...
Modernize existing .NET apps with Windows Containers and Azure
As part of the series of posts announced at this initial blog post (.NET Application Architecture Guidance) that explores each of the architecture areas currently covered by our team, this current blog post focuses on introducing the new "Modernize existing .NET applications with Windows Containers and Azure" eBook which you can download here. Just as a reminder, the four introductory blog posts of these series are shown in the links at the right of the page, under the .NET Application Architecture section. Modernize and lift and shift existing .NET apps There are many reasons why you would want to moderniz...
Publishing a Web App to an Azure VM from Visual Studio
We know virtual machines (VMs) are one of the most popular places to run apps in Azure, but publishing to a VM from Visual Studio has been a tricky experience for some. So, we’re pleased to announce that in Visual Studio 15.5 we’ve added some improvements to the experience. In this post, we’ll discussed the requirements for a VM that’s ready to run an ASP.NET web application, and then walk through how to publish to it from Visual Studio. If you have a minute to answer two questions about your interest in VMs, we’d appreciate it! Create a new VM on Azure Click the button below to deploy this custom Azure Resour...
Introducing API Analyzer
This post was written by Olia Gavrysh. Have you ever wondered which APIs are deprecated and which should you use instead? Or have you ever used an API and then found out it didn't work on Mac or Linux? Have that ever happened to you too late when a major part of your code is already implemented and refactoring is way too hard? Both of these problems can be avoided with the new API Analyzer, which allows you to get live feedback on API usage and warns about potential compatibility issues and calls to deprecated APIs. TL;DR You can now have a virtual API expert! API Analyzer is a Roslyn analyzer that comes as ...
Welcome to C# 7.1
With C# we have always tended towards major releases: bundle a lot of features up, and release less frequently. We even went so far as routinely omitting the traditional ".0" when we talked about C# 6.0! In the C# 7.0 "wave" we are trying something new. Tools such as Visual Studio upgrade on a frequent cadence, and there's no longer a technical reason why C# couldn't also be updated more frequently. So this time around we are embracing a notion of "point releases"; minor versions of C# that trickle out useful but smaller language features with shorter intervals. This means that you don't have to wait so long f...
Moving to real time test discovery in Test Explorer
Real time test discovery is a new Visual Studio feature that uses a Roslyn analyzer to discover tests and populate the test explorer in real time without requiring you to build your project. This feature has been introduced in Visual Studio 2017 15.5 Preview 2 behind a feature flag. You can try it out by using the instructions in the next section. This not only makes test discovery significantly faster, it also keeps the test explorer in sync with code changes such as adding or removing tests. Since real time discovery is powered by the Roslyn compiler it is only available for C# and Visual Basic projects. How mu...
Sharing Configuration in ASP.NET Core SPA Scenarios
This is a guest post from Mike Rousos ASP.NET Core 2.0 recently released and, with it, came some new templates, including new project templates for single-page applications (SPA) served from an ASP.NET Core backend. These templates make it easy to setup a web application with a rich JavaScript frontend and powerful ASP.NET Core backend. Even better, the templates enable server-side prerendering so the JavaScript front-end is already rendered and ready to display when users first arrive at your web app. One challenge of the SPA scenario, though, is that there are two separate projects to manage, each with their ...
Entity Framework 6.2 Runtime Released
Today we announce the availability of EF 6.2 runtime in NuGet.org. Entity Framework (EF) is Microsoft's traditional object/relational mapper (O/RM) for .NET Framework. To understand the difference between EF6 and EF Core, please refer to our documentation. How to obtain the new package You can install EF 6.2 either using the "Manage NuGet Packages" option in Visual Studio or by issuing commands in the "NuGet Package Manager Console". For example, to upgrade an existing project to use EF 6.2, you can run: Or to install the package in a new project: What is new in EF 6.2? While most of the focus of the...
.NET Core Performance Profiling with Intel® VTune™ Amplifier 2018
Last Updated: 2018-04-30 This post was written by Varun Venkatesan, Li Tian, and Juan Rodriguez, engineers at Intel. They are excited to share .NET Core-specific enhancements that Intel has made to VTune Amplifier 2018. We're excited to have a new tool to use to help make .NET Core faster on Intel chips. Intel has been a strong partner in the development and advancement of Microsoft’s .NET ecosystem, starting with our co-sponsorship (along with Hewlett-Packard) of the ECMA TC39/TG3 Common Language Infrastructure standardization process; through co-developing and optimizing several .NET Framework releases for scal...
Experiment with Azure for FREE!
What is Azure? What can it do for me? Do I need it? How do I find out? How do I use it? Will it help my business? Can it help my career? With all the things Azure can do, it's hard to know where to start answering these important questions. But there's a really easy way to explore the potential of Azure completely free and at your own pace: by creating a free Azure account. In fact, if you're a Visual Studio subscriber either on your own or through your employer you effectively have one already. And even if you're not a Visual Studio subscriber you too can start checking out Azure on your own schedule at your ow...
Announcing the .NET Framework 4.7.1
Today, we are announcing the release of the .NET Framework 4.7.1. It’s included in the Windows 10 Fall Creators Update. .NET Framework 4.7.1 is also available on Windows 7+ and Windows Server 2008 R2+. We’ve added support for targeting the .NET Framework 4.7.1 in Visual Studio 2017 15.5. The .NET Framework 4.7.1 includes improvements in several areas: You can download the .NET Framework 4.7.1 For building applications targeting .NET 4.7.1 download the Developer Pack. You can see the complete list of improvements in the .NET Framework 4.7.1 release notes. .NET ...
.NET Framework October 2017 Preview of Quality Rollup
Today, we are releasing the October 2017 Preview of Quality Rollup. This type of rollup is intended for businesses that want to the preview or use quality improvements as soon as they are available. Quality and Reliability This release contains the following quality and reliability improvements. CLR WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentsor use in web searches. Getting the Update The Preview of Quality Rollup is available...
User accounts made easy with Azure
One of the most common requirements for web applications is for users create accounts for the purpose of access control and personalization. While ASP.NET templates have always made it easy to create an application that uses a database you control to register and track user accounts, that introduces other complications over the long term. As laws around user information get stricter and security becomes more important, maintaining a database of users and passwords comes with an increasing set of maintenance and regulatory challenges. A few weeks ago I tried out the new Azure Active Directory B2C service, and was...
RyuJIT Just-in-Time Compiler Optimization Enhancements
I'd like to tell you about some of the recent changes we've made as part of our ongoing work to extend the optimization capabilities of RyuJIT, the MSIL-to-native code generator used by .NET Core and .NET Framework. I hope it will make for an interesting read, and offer some insight into the sorts of optimization opportunities we have our eyes on. Note: The changes described here landed after the release fork for .NET Core 2.0 was created, so they are available in daily preview builds but not the released 2.0 bits. Similarly, these changes landed after the fork for .NET Framework 4.7.1 was created. The changes...
.NET Framework October 2017 Security and Quality Rollup
Today, we are releasing the October 2017 Security and Quality Rollup. The update applies to all supported Windows versions. It includes a known issue for Windows 10 1507 (see below). Security This release contains no new security updates. Quality and Reliability This release contains the following quality and reliability improvements. WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow commentsor use in web searches. Getting the Updat...
Announcing UWP Support for .NET Standard 2.0
This post was mostly written by Rich Lander with contributions from Immo Landwerth. Today, we are releasing huge updates to UWP for .NET developers. The really big improvement is adding support for .NET Standard 2.0. UWP developers now have access to ~ 20k more APIs. This release brings UWP to partity with the other .NET implementations that support .NET Standard 2.0. You need to download Visual Studio 2017 15.4, also released today, to take advantage of these updates. You also need to be running on and targeting Windows 10 Fall Creators Update, which will be released later this month. .NET Standard 2.0 support...
Announcing SignalR for ASP.NET Core Alpha 2
A few weeks ago we released the alpha1 version of SignalR for ASP.NET Core 2.0. Today we are pleased to announce a release of the alpha2 version of SignalR for ASP.NET Core 2.0. This release contains a number of changes (including API changes) and improvements. Notable Changes Release notes can be found on github. API Changes TypeScript/JavaScript client: needs to be changed to: C# Client The HubConnection.Stream() method was changed to be async and renamed to StreamAsync() New overloads of WithJsonHubProtocol() and WithMessagePackProtocol() on HubConnectionBuilder that take protoc...
.NET Framework 4.7.1 Runtime and Compiler Features
This post describes the new Runtime, Compiler and Base Class Library (BCL) improvements in the .NET Framework 4.7.1. You can try out these features by downloading the Developer Pack, described in the Welcome to the .NET Framework 4.7.1 Early Access blog post. BCL - .NET Standard 2.0 Support .NET Framework 4.7.1 has built-in support for .NET Standard 2.0. .NET Framework 4.7.1 adds about 200 missing APIs that were part of .NET Standard 2.0 but not actually implemented by .NET Framework 4.6.1, 4.6.2 or 4.7. You can refer to details on .NET Standard on .NET Standard Microsoft docs. While libraries targeting .NET S...
Build a web service with F# and .NET Core 2.0
Earlier this year, I wrote about an update to the roadmap for F# and .NET Core. I had mentioned that there were a number of things you could build with F# and .NET Core today, such as web services. In this post, I'll walk through building a web service with F# and .NET Core 2.0 using the Giraffe library. It's also worth noting that Giraffe is not the only technology you can use to build web APIs. Suave and Freya are two other great technologies that can be used on .NET Core. I encourage you to try each of them and see which you prefer. A complete application shown in this post is available on GitHub. Overv...
.NET Framework September 2017 Preview of Quality Rollup
Today, we are releasing the September 2017 Preview of Quality Rollup. This type of rollup is intended for businesses that want to the preview or use quality improvements as soon as they are available. This update applies to Windows 10 Update 1607 (Anniversary Update) and to Windows Server 2016. FYI: The KBs for Windows Server 2016 have been delayed but will be available soon. This post will be updated when Windows Server 2016 KBs are available. Quality and Reliability This release contains the following quality and reliability improvements. CLR Networking Windows Forms WPF No...
.NET Core September 2017 Update — macOS High Sierra Support
We released .NET Core updates for macOS High Sierra Support and additional quality fixes. You can download and install the update for Windows, macOS and Linux. This update is for .NET Core 1.0 and 1.1. The initial .NET Core 2.0 release includes similar improvements, so is not being updated with this release. Downloads Note: The .NET Core 1.1.4 SDK is used for both .NET Core 1.0 and 1.1 Runtimes. There is no separate .NET Core 1.0 SDK. The .NET Core 1.0 and 1.1 Runtimes are both available as separate installs, at the links above. Updates You can see a complete list of improvements in the .NET Core Septemb...
.NET Framework 4.7.1 Accessibility and WPF Improvements
This post describes the new WPF and accessibility features and improvements in .NET Framework 4.7.1. You can try out these features by downloading the Developer Pack, described in the Welcome to the .NET Framework 4.7.1 Early Access blog post. Accessibility improvements .NET Framework 4.7.1 brings in a lot of accessibility improvements across different libraries to align with the broad Microsoft product accessibility goals. How to get these accessibility improvements? In order for the application to benefit from these changes, it needs to run on the .NET Framework 4.7.1 or later and configured in one of the f...
Watch .NET Conf 2017!
.NET Conf starts today. It's a three-day, free, virtual and global .NET conference. All you need to do is point your web browser to channel9.msdn.com, starting at 8AM Pacific Time. We have a packed agenda with a great set of expert .NET developers. What will you learn? Many things. You will learn to build for web, mobile, desktop, games, services, libraries and more for a variety of platforms and devices all with .NET. We have sessions for everyone, no matter if you are just beginning or are a seasoned engineer. We’ll have presentations on .NET Core and ASP.NET Core, C#, F#, Roslyn, Visual Studio, Xamarin, and ...
Announcing SignalR (alpha) for ASP.NET Core 2.0
NOTE: This is a post about the Alpha version of SignalR which has since been replaced with a new preview: https://blogs.msdn.microsoft.com/webdev/2018/02/27/asp-net-core-2-1-0-preview1-getting-started-with-signalr/ Today we are glad to announce an alpha release of SignalR for ASP.NET Core 2.0. This is the first official preview release of a new SignalR that is compatible with ASP.NET Core. It consists of a server component, a .NET client targeting .NET Standard 2.0 and a JavaScript/TypeScript client. What’s New? SignalR for ASP.NET Core is a rewrite of the original SignalR. We looked at common SignalR usage pa...
NuGet Package Signing
In our NuGet Fall 2017 Roadmap, we highlighted security as the main area of investment over the next few months. This blog post describes a major part of that roadmap in greater detail – package signing. We started talking about supporting signed packages on NuGet.org a while ago. For example, in 2015 we published a post on Package Signing as well as a related specification from the ASP.NET team, and more recently we described package signing as a part of our future plans in the post on NuGet Package Identity and Trust. We´ve received some great feedback from our various discussions with you (such as the ones in...
.NET Framework 4.7.1 ASP.NET and Configuration features
This post describes the new ASP.NET, Configuration and System.Messaging features and improvements in the .NET Framework 4.7.1. More information on the build these features are available in and how to get the Developer Pack is covered in the Welcome to the .NET Framework 4.7.1 Early Access blog post. Configuration builders Configuration builders allow developers to inject and build configuration for applications at runtime, allowing configuration data to be pulled from sources beyond the traditional .config file. In previous versions of the .NET Framework, configuration has been static. Applications only draw...
.NET Framework September 2017 Security and Quality Rollup
Last Updated: 2017.09.21. Today, we are releasing the September 2017 Security and Quality Rollup and Security Only Update. This update applies to Windows 7 and later client versions and Windows Server 2008 and later server versions. This update has known issues. Please see them at the bottom of the update. Security This release contains the following security changes. CVE-2017-8759 | .NET Framework Remote Code Execution Vulnerability A remote code execution vulnerability exists when Microsoft .NET Framework processes untrusted input. An attacker who successfully exploited this vulnerability in software using t...
Welcome to the New Blog Template for ASP.NET Developers
By Juliet Daniel, Lucas Isaza, and Uma Lakshminarayan Have you always wanted to build a blog or other web application but haven't had the time or educational resources to learn? With our blog template, available in our GitHub repo, you can create your web application fast and effortlessly, and even learn to master the new Razor Pages architecture along the way. This blog post will explore how to use Razor Pages features and best practices and walk through the blog template code that we wrote. This summer we had the awesome opportunity to be part of Microsoft's Explore Program, a 12-week internship for rising c...
Getting Started with Windows Containers
Containers provide a way of running an application in a controlled environment, isolated from other applications running on the machine, and from the underlying infrastructure. They are a cost-effective way of abstracting away the machine, ensuring that the application runs in the same conditions, from development, to test, to production. Containers started in Linux, as a virtualization method at the OS level that creates the perception of a fully isolated and independent OS, but it does not require creating a full virtual machine. People have been already using Linux containers for a while. Docker greatly simpl...
Changes to NuGet.org service management, and performance improvements in China
NuGet.org, the package manager for .NET, was purpose-built as a global service with high scale performance regardless of the developer’s location. We are finding that this is not always the case, particularly for developers accessing the service from China, which is the second largest region for .NET developers. They frequently face higher download times resulting in poor restore performance and service outages. We have been actively investigating solutions to this problem. Based on our tests, developers in China should see up to 30x improvement in package download times and on average, a 10x improvement in over...
The week in .NET – Let’s Encrypt Web App Renewer, Seattle CodeCamp 2017
Previous posts: Open-source project of the week: Let's Encrypt Azure Web App Renewer There's a growing consensus that all web sites should transition now to be encrypted with HTTPS. This comes at a cost, and with the friction associated with acquiring and renewing certificates. The problem of cost is now addressed by Let's Encrypt, but the friction is still there. Ohad Schneider has built Let's Encrypt WebApp Renewer, a great Azure WebJob-ready console application built in C#, to reduce that friction for Azure Web Apps. The application builds on an existing Azure extension, letsencrypt-siteextension, with th...
UWP & .NET Standard 2.0: A preview is now available!
Today, we released the first Preview of Visual Studio 2017 version 15.4. This includes an update to the UWP tooling that supports .NET Standard 2.0. In this post, I'll outline what this means for UWP development with .NET. Prerequisites In order to use .NET Standard 2.0 in UWP, you need to target Fall Creators Update (FCU) as the minimum version of your UWP project. That's because .NET Standard 2.0 contains many APIs that require FCU to make them work in the context of the UWP execution environment, specifically AppContainer. What's new with .NET Standard 2.0? .NET Standard is a specification of APIs that...
Mobile Apps with Xamarin.Forms: Architecture and Patterns guidance
As part of the series of posts announced at this initial blog post (.NET Application Architecture Guidance) that explores each of the architecture areas currently covered by our team, this current blog post focuses on "Mobile Apps with Xamarin.Forms: Architecture and Patterns guidance". Just as a reminder, the four introductory blog posts of this series are (or will be as of today) the following: There are many issues that must be resolved when creating an enterprise mobile app. These include: Introducing the 'Enterprise Application Patterns using Xamarin.Forms' Gui...
ASP.NET Core 2.0 Features
Last week we announced the release of ASP.NET Core 2.0 and described some top new features, including Razor Pages, new and updated templates, and Application Insights integration. In this blog post we are going to dig into more details of features in 2.0. This list is not exhaustive or in any particular order, but highlights a number of interesting and important features. ASP.NET Core Metapackage/Runtime Store ASP.NET Core has had a goal of allowing developers to only depend on what they need. While people generally appreciate the increased modularity, it came with an increased cost for everyone in the form of ...
The week in .NET – Project File Tools, Maira Wenzel, Mixed Reality in Miami, and links!
Previous posts: Visual Studio extension of the week: Project File Tools The Project File Tools Visual Studio extension provides package name and version IntelliSense, tooltips for packages, and more, when editing a file in Visual Studio. The extension just got updated. Get it from the Visual Studio Marketplace. Interview of the week: Maira Wenzel Maira Wenzel is a senior content developer on the .NET team. She is the content lead for .NET Core and .NET Framework documentation and she runs one of Microsoft's open source projects at https://github.com/dotnet/docs. Learn how she joined Microsoft an...
.NET Framework Update for AppContext
A new update for .NET Framework is now available for the AppContext class. The behavior of the AppContext class was recently regressed. The update returns the class to the correct behavior. This update affects the .NET Framework 4.6 and later. The update is not required on Windows 10. The AppContext class was introduced in the .NET Framework 4.6. It's primary use is to enable developers to opt into new behavior in the .NET Framework that is not enabled by default. The regression prevents developers from opting into new behavior. You are only encouraged to install this update if you have used the AppContext clas...
.NET Framework August 2017 Preview of Quality Rollup
The August 2017 Preview of Quality Rollup is now available. Quality and Reliability This release contains the following quality and reliability improvements. ASP.NET CLR Management Windows Forms WCF WPF Note: Additional information on these improvements is not available. The VSTS bug number provided with each improvement is a unique ID that you can give Microsoft Customer Support, include in StackOverflow comments or use in web searches. Getting the Update The Preview of Quality Rollup is available via Windows Update, Windows Server Update Services and ...
What’s Nu in NuGet with Visual Studio 2017 version 15.3?
We are happy to announce an update to the NuGet client that comes bundled with Visual Studio 2017 version 15.3 RTW and .NET Core 2.0 SDK. This release introduces support for new scenarios such as .NET Core 2.0/.NET Standard 2.0, some new features, a series of bug fixes and performance improvements. You can see more details, known issues, and workarounds associated with this release in our release notes. Here are some links to get started with using the latest NuGet functionality: TL;DR Our major focus for this release was adding support for .NET Core 2.0. In addition, we made some other improvements: ...
The week in .NET – .NET Core 2.0, ASP.NET Core 2.0, Entity Framework Core 2.0, Visual Studio 2017 Update 3, enterprise Entity Framework Core in Boston, and links!
Previous posts: .NET Core 2.0, ASP.NET Core 2.0, Entity Framework 2.0, and Visual Studio 2017 Update 3 launched! This is a week to celebrate for the .NET community, as .NET Core 2.0, ASP.NET Core 2.0, and Entity Framework 2.0 shipped! We're also getting an update to Visual Studio 2017 with lots of improvements for .NET Core developers. Read the announcement posts! User group meeting of the week: Entity Framework Core for Enterprise Applications in Boston What do you do when your simple Entity Framework app isn’t so simple anymore? The entity relationships are starting to get complex. You’re getting ...
F# and .NET Core Roadmap Update
Now that .NET Core 2.0 has been released, we wanted to take some time to talk about F# and .NET Core. F# and .NET Core 1.0 F# has been supported on .NET Core and .NET Standard since their 1.0 releases. In the months leading up to the release of .NET Core 1.0, Enrico Sada from the F# community worked with us and other teams at Microsoft to add support for F# projects in the .NET Core CLI and SDK. Enrico continued to work with us and other teams to ensure quality F# support as .NET Core tools evolved from project.json to MSBuild. We also focused on Portable PDB generation during this time so that F# was supporte...
Announcing .NET Core 2.0
.NET Core 2.0 is available today as a final release. You can start developing with it at the command line, in your favorite text editor, in Visual Studio 2017 15.3, Visual Studio Code or Visual Studio for Mac. It is ready for production workloads, on your own hardware or your favorite cloud, like Microsoft Azure. We are also releasing ASP.NET Core 2.0 and Entity Framework Core 2.0. Read the ASP.NET Core 2.0 and the Entity Framework Core 2.0 announcements for details. You can also watch the launch video on Channel 9 to see many of the new features in action. The .NET Sta...
Announcing .NET Standard 2.0
The .NET Standard 2.0 specification is now complete. It is supported in .NET Core 2.0, in the .NET Framework 4.6.1 and later versions, and in Visual Studio 15.3. You can start using .NET Standard 2.0 today. While this post demos .NET Standard in C#, it's also supported in Visual Basic and F#. For more details, take a look at the .NET Standard documentation as well as the API browser. For the impatient: TL;DR Creating a .NET Standard library Let's see .NET Standard 2.0 in action by creating a new project. You can do this in Visual Studio by invoking File | New Project. Choose Cla...
Announcing Entity Framework Core 2.0
Today we are releasing the final version of Entity Framework Core 2.0, alongside .NET Core 2.0 and ASP.NET Core 2.0. Entity Framework (EF) Core is the lightweight, extensible, and cross-platform version of Entity Framework, the popular Object/Relational Mapping (O/RM) framework for .NET. Getting the bits Prerequisites In order to develop .NET Core 2.0 applications (including ASP.NET Core 2.0 applications that target .NET Core) you will need to download and install a version of the .NET Core 2.0 SDK that is appropriate to your platform. This is true even if you have installed Visual Studio 2017 version 15.3....
Announcing ASP.NET Core 2.0
The ASP.NET team is proud to announce general availability of ASP.NET Core 2.0. This release features compatibility with .NET Core 2.0, tooling support in Visual Studio 2017 version 15.3, and the new Razor Pages user-interface design paradigm. For a full list of updates, you can read the release notes and you can check the list of changed items in the ASP.NET Announcements GitHub repository for a list of changes from previous versions of ASP.NET Core. The latest SDK and tools can be downloaded from https://dot.net/core. Read the .NET Core 2.0 release announcement for more information and watch the launch video...
Web Applications with ASP.NET Core Architecture and Patterns guidance (Updated for .NET Core 2.0)
Updated for ASP.NET Core 2.0 (Nov. 15th 2017) Earlier this year, we published this eBook/Guide and sample application offering guidance for Architecting Modern Web Applications with ASP.NET Core and Microsoft Azure. We have recently published updates to the eBook (2nd edition) and sample application to bring them in line with the latest releases of ASP.NET Core 2.0 and Entity Framework Core 2.0. What's new The eBook/Guide has been updated to ASP.NET Core 2.0, .NET Standard Library 2.0 and Entity Framework 2.0 and .NET Core 2.0 in general, while referencing to the new code implemented in the updated sample app f...
NuGet Fall 2017 Roadmap
Over the past 6 months, the NuGet team has been working hard to ensure the growth of the .NET ecosystem. NuGet has grown significantly during this timeframe: NuGet.org is closing in on 4 billion packages served (up from a billion packages just a year ago), we have enabled new .NET scenarios such as .NET Standard 2.0, and have improved the overall user experience of package authors and consumers using the service. Yet, a lot more remains to be done. Along the way, we made some mistakes that our community has rightfully called us out on. We made changes to the client and the server that took some users by surprise...
.NET Framework August 2017 Security and Quality Rollup
Updated: 2017.08.10 Today, we are releasing the August 2017 Security and Quality Rollup Update. This update applies to Windows 10 and Windows Server 2016. Security There are no new security changes for the .NET Framework this month. Quality and Reliability Networking Note: The VSTS bug number listed above are provided so that you have a tracking number that you can refer to, search for and use with Customer support for each improvement. The actual VSTS bugs are only accessible to Microsoft employees. Getting the Update The Security and Quality Rollup is available via Windows Update, Windows Server Update ...
The week in .NET – Rezoom.SQL, Protobuf in Orlando, and links!
Previous posts: Tool of the week: Rezoom.SQL Rezoom.SQL is an F# ORM for SQL databases. It integrates with the F# compiler via a generative type provider to statically typecheck its own dialect of SQL. It knows how to translate this SQL dialect to various backends. Currently it supports SQLite, SQL Server, and PostgreSQL. The type provider makes it fast and easy to write SQL statements, run them, and consume their results from your F# code with full type safety. You don't need to install any editor extensions or custom tooling, just add a NuGet package and you're off and running writing code like this:. ...
Welcome to the .NET Framework 4.7.1 Early Access!
Last Updated: 9/28/2017 Today, we are happy to share the .NET Framework 4.7.1 Early Access build with the Developer Pack. The .NET Framework 4.7.1 Developer Pack lets developers build applications that target the .NET Framework 4.7.1 by using Visual Studio 2017, Visual Studio 2015 or other IDEs. This is a single package that bundles the .NET Framework 4.7.1, the .NET 4.7.1 Targeting Pack, and the .NET Framework 4.7.1 SDK. The .NET Framework 4.7.1 is the next version of the .NET Framework. It is currently feature-complete and in the testing phase. We are asking for individuals and companies to help validate the q...
Microservices and Docker containers: Architecture, Patterns and Development guidance (Updated for .NET Core 2.0)
Updated for .NET Core 2.0 "wave" of technologies (Nov. 15th 2017) Earlier this year, we published this eBook and sample application offering guidance for architecting microservices and Docker containers based applications. We have recently published updates to the eBook (2nd edition) and sample application to bring them in line with the latest releases of .NET Core 2.0 many other updates coming along as part of the same "wave" of technologies. This is the update list summary for both, the eBook and the sample application: Th...
.NET Framework July 2017 Cumulative Quality Update for Windows 10
Today, we are releasing a new Cumulative Quality Update for the .NET Framework. It is specific to Windows 10 build 1703 (Creators Update). Previously released security and quality updates are included in this release, including the July 2017 Security and Quality Rollup, the July 2017 Preview of Quality Rollup and the June 2017 Cumulative Quality Update for Windows 10. Note: This release is considered a July release even though it is being released in August. Quality and Reliability The following improvements are included in this release. Most changes are for the .NET Framework 4.7. .NET Framework 3.5 changes ar...
The week in .NET – Nuke, Warden.NET, .NET in Bangalore, and links!
Previous posts: Tool of the week: Nuke Nuke is a cross-platform build automation system with C# DSL, much like Cake. It features auto-completion, refactoring, and navigation in all IDEs. Nuke avoids complexity, and integrates as a normal project. Package of the week: Warden.NET The System.Diagnostics.Process class while useful does not have a concept for parent applications; while Windows itself does track parents, it does not track grandparents and processes can quickly become orphaned. Which is where Warden comes in. Warden.NET is a simple to use library for managing processes and their states. U...
Introducing Support for Brotli Compression
This post was written by our software developer intern Denys Tsomenko, who worked on a Brotli compression library during his internship. Modern web-pages are getting larger and larger with huge CSS, HTML and JavaScript files. But the Internet connection isn't always good and pages can load slowly. Web pages also often contain other materials such as images and videos. Reducing load time can have a profound impact on the user experience. Compression can help with that. Currently, ASP.NET developers have two compression methods available to use in their web applications: Deflate and gzip. But there is a trade...
.NET Application Architecture Guidance
The .NET Team has been producing guidance for building microservices and container based applications, web applications and Xamarin.Forms mobile apps. You can use this guidance to help build your applications according to accepted industry patterns with .NET and C#. We have heard many requests for this guidance over the last year. We have recently made this guidance available on the .NET Application Architecture center. The guides come as eBooks and end to end sample reference applications. You can start reading the eBooks now. Just click on any of the eBook links below. There are two end-to-end reference ...
The week in .NET – MIST, F# in NYC, and links
Previous posts: Package of the week: MIST The interface is essential to many applications such as Windows Forms or WPF data binding. Implementing it can however be fastidious, and involves quite a lot of boilerplate code. MIST simplifies this using IL weaving and a custom Visual Studio build task. With MIST, you can use simple auto-properties and decorate them with attributes, and get an implementation of . MIST is of course not the only library in that problem space. Also check out Fody/PropertyChanged for another very popular library. User group meeting of the week: hacking away at 99 problems in F# ...
.NET Framework July 2017 Quality Update for WPF
You can now install the July 2017 Quality Update for WPF. It applies to multiple Windows versions. This update resolves known issue 4033488. It is recommended on machines that have installed the July 2017 Preview of Quality Rollup or the May 2017 Preview of Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. Getting the Update This release is only available via Microsoft Update Catalog. Docker Images Docker images have not been updated for this release. Downloading KBs from Microsoft Update Catalog You can download patches from the t...
.NET Framework July 2017 Preview of Quality Rollup
You can now install the Preview of Quality Rollup for the .NET Framework, released July 18th, 2017. Preview of Quality Rollup releases are recommended for businesses that want to use and/or preview quality improvements as soon as they become available. These same quality improvements will typically be included in the following Security and Quality Rollup. Quality and Reliability This release contains the following quality and reliability improvements. CLR Data Management Windows Forms WPF XML Known Issues COMException error from WPF Application with .NET Framewo...
Get Started with F# as a C# developer
Get Started with F# as a C# developer One of our previous posts, Why You Should Use F#, listed a few reasons why F# is worth trying out today. In this post, we'll cover some of the basics you need to know to be successful. This post is intended for people who are coming from a C#, Java, or other object-oriented background. The concepts covered here should seem very familiar to existing F# programmers. This post won't make any attempt to show you how to "translate" C# code into F#. This is because C# and F# represent different programming paradigms, which makes each suited to its own purpose. We thi...
What we’ve learned from .NET Core SDK Telemetry
Updated (2017/7/27) We are releasing .NET Core SDK usage data that has been collected by the .NET Core CLI. We have been using this data to determine the most common CLI scenarios, the distribution of operating systems and to answer other questions we've had, as described below. As an open source application platform that collects usage data via an SDK, it is important that all developers that work on the project have access to usage data in order to fully participate in and understand design choices and propose product changes. This is now the case with .NET Core. .NET Core telemetry was first announced in th...
Profile-guided optimization in .NET Core 2.0
This post was co-written by Daniel Podder and Bertrand Le Roy. .NET Core 2.0 introduces many new optimizations that will make your code even faster. A lot of work has been done in the base class library to improve performance, but in this post, we'd like to talk about a specific category of optimization: profile-guided optimization (or PGO, pronounced "pogo"). What is profile-guided optimization? PGO is a native compilation technology used by the C++ compiler to generate better optimized code. It consists of a 2 step compilation process: a training run that records information about execution, and an optimiz...
The week in .NET – Command Line Parser Library, .NET South East
Previous posts: Package of the week: Command Line Parser Library Command-line applications typically accept arguments and options, and expose a page describing them. Parsing those arguments and options is a repetitive task that .NET provides little help for out of the box, beyond the argument to . Giacomo Stelluti Scala's Command Line Parser Library offers CLR applications a clean and concise API for manipulating command line arguments and related tasks, such as defining switches, options and verb commands. It allows you to display a help screen with a high degree of customization and a simple way to repor...
NuGet.org Gets a Facelift
It’s been a long time coming, and today we are excited to announce some big changes coming to NuGet.org. With almost 3 million monthly page views, NuGet.org is the gateway for .NET developers to find packages that accelerate their projects. However, as a package management website, so much more can be done. We decided to give NuGet.org a redesign and use it as a platform to build out new functionality. We’ve already begun to pull in a couple of new features, and have a bunch in the pipeline or planned for the future. In this post, we’ll discuss 3 things: We encourage you to try out the NuGet.org Preview...
Development time IIS support for ASP.NET Core Applications
With a recent update to Visual Studio 2017, we have added support for debugging ASP.NET Core applications against IIS. This blog post will walk you through enabling this feature and setting up your project to use this feature. Getting Started To get started: Enable IIS Before you can enable Development time IIS support in Visual Studio, you will need to enable IIS. You can do this by selecting the Internet Information Services checkbox in the Turn Windows features on or off dialog. If your IIS installation requires a reboot, make sure to complete it before proceeding to the next step. Develop...
.NET Framework July 2017 Security and Quality Rollup
Today, we are releasing a new Security and Quality Rollup and Security Only Update for the .NET Framework. Today's update applies to Windows 10 and Windows Server 2016. Security Microsoft Common Vulnerabilities and Exposures CVE-2017-8585 A denial of service vulnerability exists when Microsoft Common Object Runtime Library improperly handles web requests. An attacker who successfully exploited this vulnerability could cause a denial of service against a .NET web application. A remote unauthenticated attacker could exploit this vulnerability by issuing specially crafted requests to the .NET application. The upd...
The week in .NET – Links!
This week's post will exceptionally be made of links only, as I'm on vacation...Previous posts:.NETASP.NETC#F#There is more content available this week in F# Weekly. If you want to see more F# awesomeness, please check it out!XamarinAzureUWPDataAnd this is it for this week!Contribute to the week in .NETAs always, this weekly post couldn't exist without community contributions, and I'd like to thank all those who sent links and tips. The F# section is provided by Phillip Carter, the gaming section by Stacey Haffner, the Xamarin section by Dan Rigby, and the Azure and UWP section by Michael Crump.You can participat...
The week in .NET – Links!
This week's post will exceptionally be made of links only, as I'm on vacation...Previous posts:.NETASP.NETC#F#There is more content available this week in F# Weekly. If you want to see more F# awesomeness, please check it out!XamarinAzureUWPDataAnd this is it for this week!Contribute to the week in .NETAs always, this weekly post couldn't exist without community contributions, and I'd like to thank all those who sent links and tips. The F# section is provided by Phillip Carter, the gaming section by Stacey Haffner, the Xamarin section by Dan Rigby, and the Azure and UWP section by Michael Crump.You can participat...
Performance Improvements in RyuJIT in .NET Core and .NET Framework
RyuJIT is the just-in-time compiler used by .NET Core on x64 and now x86 and by the .NET Framework on x64 to compile MSIL bytecode to native machine code when a managed assembly executes. I'd like to point out some of the past year's improvements that have gone into RyuJIT, and how they make the generated code faster. What follows is by no means a comprehensive list of RyuJIT optimization improvements, but rather a few hand-picked examples that should make for a fun read and point to some of the issues and pull requests on GitHub that highlight the great community interactions and contributions that have helpe...
WCF Web Service Reference Provider – Metadata Exchange Endpoint Authentication
With the recent update to the WCF Service Reference tool in the VS Marketplace, support has been added for downloading metadata for a web service where the metadata exchange (MEX) endpoint has been secured with IIS authentication. The purpose of MEX endpoints is to allow clients to discover the service capabilities, including security aspects of the service, and usually this endpoint can be accessed by an anonymous request. This is not a problem in general as the actual service resources can be exposed on secured endpoints. Still, there are cases in which the metadata might be considered sensitive information an...
Announcing EF Core 2.0 Preview 2
Today we are making Entity Framework Core 2.0 Preview 2 available. Entity Framework Core (EF Core) is a lightweight, extensible, and cross-platform version of Entity Framework. EF Core follows the same release cycle as .NET Core but can be used in multiple .NET platforms, including .NET Core 2.0 and .NET Framework 4.6.1 or newer. Installing or upgrading to 2.0 Preview 2 .NET Standard 2.0 requisite From Preview 2 and beyond, EF Core 2.0 targets .NET Standard 2.0 and therefore requires .NET platforms that support it: See our announcement for more details about the decision to target .NET Standard 2.0...
Announcing .NET Core 2.0 Preview 2
Today, we are announcing .NET Core 2.0 Preview 2. We have made improvements that we want to share and that we would love to get your feedback on. You can develop .NET Core 2.0 apps with Visual Studio 2017 Preview 15.3, Visual Studio for Mac or VS Code. ASP.NET Core 2.0 Preview 2 is also releasing today and takes advantage of the improvements in .NET Core 2.0 and Visual Studio 2017. You can download and get started with .NET Core 2.0 Preview 2 right now, on Windows, Linux and macOS: You can see complete details of the release in the .NET Core 2.0 Preview 2 release notes. Known is...
Introducing ASP.NET Core 2.0 Preview 2
At Build 2017, we released an initial preview version of ASP.NET Core 2.0. Over the last two months we have incorporated your feedback and added a number of new features. We now have a Preview 2 version of the ASP.NET Core 2.0 framework and Visual Studio tools for you to try. In this post, we will review some of the new features in this preview release. Update Visual Studio and install ASP.NET Core 2.0 Preview 2 If you don’t already have the latest Visual Studio 2017 Preview version installed on your Windows system, download the latest from https://www.visualstudio.com/vs/preview/ You can update an existing...
.NET Framework June 2017 Cumulative Quality Update for Windows 10
Today, we are releasing a new Cumulative Quality Update for the .NET Framework. It is specific to Windows 10 Creators Update (1703). Previously released security and quality updates are included in this release, including the NET Framework May 2017 Security and Quality Rollup and the May 2017 Cumulative Quality Update for Windows 10. There was no Security and Quality Rollup released in June. Security This release contains no new security improvements. Quality and Reliability The following improvements are included in this release. Windows Presentation Framework Issues 429046 Resolves a reliability issue where a...
The week in .NET – .NET Conf, Material Design in XAML Toolkit
Previous posts: .NET Conf, September 19-21. Call for Content is Open! .NET Conf is a free, 3 day virtual developer event co-organized by the .NET community and Microsoft. Over the course of the three days developers have a wide selection of live sessions that feature speakers from the community and .NET product teams. These are the experts in their field and it is a chance to learn, ask questions live, and get inspired for their next software project. Call for content is now open! Learn more about how you can present to the .NET community. Package of the week: Material Design In XAML Toolkit The Mat...
.NET AI/ML themed blogs: Building recommendation engine for .NET applications using Azure Machine Learning
⏱ Updated on June 28, 2017 🙌 Welcome to the first of .NET's new AI and Machine Learning themed blog entries! We have set up this space as a place to share and discuss the work we will be doing with AI and Machine Learning. Through a series of blog posts, we would like to show you different ways on how .NET developers can leverage Machine learning and AI to build smarter, intelligent applications.Over the next few months, we hope to use this space to start discussions, engage with our community around these concepts. We will be monitoring this space closely, and encourage you to contribute through ...
The week in .NET – .NET Architecture: Microservices & Containers, On .NET with Omer Raviv on OzCode, Sprache
Previous posts: .NET Architecture – Microservices & Containers We recently added an Architecture Guidance page on the .NET Website. This new page pulls together architecture related resources for building different types of applications with .NET. We’ll be adding and updating content as it becomes available. The Microservices & Containers section of the page provides some great resources for building and deploying microservices with .NET. Cesar De la Torre has authored two eBooks, one on designing and building microservices, and the other on deploying and maintaining them in production. You’l...
The week in .NET – On .NET with Mattias Karlsson on Cake, Topshelf
Previous posts: On .NET: Mattias Karlsson - Cake During the Microsoft Build conference, we recorded interviews with some of the attendees. Mattias Karlsson is a core contributor on Cake, the cross-platform build automation system with a C# DSL. Package of the week: Topshelf Topshelf is a framework for hosting services written using .NET. The creation of services is simplified by allowing developers to create an easy to debug console application that can also be installed as a service. Meetup of the week: The Dockering of .NET with Cecil Phillip in Miami, FL The June m...
Microsoft .NET Framework 4.7 is available on Windows Update, WSUS, and MU Catalog
Last Updated: 9/14/2017 We are happy to announce the Microsoft .NET Framework 4.7 is now available on Windows Update, Windows Server Update Services (WSUS), and the Microsoft Update (MU) Catalog for the following operating systems: Client platforms: Windows 7 SP1, Windows 8.1, Windows 10 Anniversary Update (Version 1607) Server platforms: Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2 and Windows Server 2016 Here's are the Knowledge Base Article numbers for the WU/WSUS/Catalog release: .NET 4.7 Redistributable: .NET 4.7 Language Pack: An offline installer i...
.NET Core 2 and Visual Studio 2017 (15.3) Preview 2
Visual Studio 2017 (15.3) Preview 2 was recently released which includes .NET Core 1.0 and 1.1, our latest production releases of .NET Core. You will need to install the .NET Core 2.0 Preview 1 SDK to develop .NET Core 2.0 applications using Visual Studio 2017 (15.3) Preview 2 . We are working on .NET Core 2.0 Preview 2 which will be available soon. If you would like to experiment with .NET Core Preview 2, you can install the latest daily build of the .NET Core SDK. Choose the appropriate package from the Installers and Binaries table. These daily builds will work with Visual Studio 2017 (15.3) Preview 1 and Pre...
.NET Fringe: A Great Role Model for Community Oriented Conferences
A few of us just went to a smaller .NET conference in Portland, called .NET Fringe. For me, it was the third time I attended .NET Fringe. I've realized that this conference has gained a special place in my heart, so thought it would be worthwhile writing up why that is. My goal isn't to convince you to attend .NET Fringe per se, but to outline what makes it special and what you should seek out when choosing conferences to attend to or speak at. And if you're a conference organizer, I hope I can motivate you to take a look at .NET Fringe and see it as a role model. What are you looking for? It's important...
Performance Improvements in .NET Core
Update (2017/06/12): Added BenchmarkDotNet blog post link. There are many exciting aspects to .NET Core (open source, cross platform, x-copy deployable, etc.) that have been covered in posts on this blog before. To me, though, one of the most exciting aspects of .NET Core is performance. There's been a lot of discussion about the significant advancements that have been made in ASP.NET Core performance, its status as a top contender on various TechEmpower benchmarks, and the continual advancements being made in pushing it further. However, there's been much less discussion about some equally exciting improvemen...
The week in .NET – On .NET with Brett Morrison, DateTime Extensions
Previous posts: On .NET: Brett Morrison During the Build conference, I caught up with my friend Brett Morrison. Brett is an entrepreneur, executive, and hands-on developer, who has been using Microsoft products and .NET throughout his career. He founded startups, such as Onestop and ememories, and also worked for SpaceX. Package of the week: DateTime Extensions Date calculations can be tricky, but if you need to take holidays into accounts, things become really complicated. The DateTime Extensions project knows holidays for two dozen cultures, and can perform calculations taking them int...
Why you should use F#
Why you should use F# This post was written by Phillip Carter and Mads Torgersen. Both work on languages on the .NET team. At Build 2017, we presented a tech talk entitled "Why You Should Use F#". However, not everyone can attend Build, and many attendees were unable to find a position in the room where they could adequately hear us. You can see the talk for yourself in video format if you haven't seen it already. In this talk, we cover: We recommend watching the talk to see much of the above points in action. If you haven't tried F# before, there's no better ...
The week in .NET – Open XML SDK, Adventure Time
Previous posts: Package of the week: Open XML SDK The Open XML SDK provides open-source libraries for working with Word, Excel, and PowerPoint documents. It supports scenarios such as high-performance generation of word-processing documents, spreadsheets, and presentations, high fidelity conversion of Word documents to HTML, extraction of data from XLSX, and document modification. Game of the Week - Adventure Time: Magic Man's Head Games Adventure Time: Magic Man's Head Games is a virtual reality platformer. After you've been magically transformed into a giant balloon, you must w...
.NET Framework May 2017 Cumulative Quality Update for Windows 10
We just released a new Cumulative Quality Update for the .NET Framework. This update is specific to Windows 10 Creators Update. Previously released security and quality updates are included in this release. These quality updates will be made available to other .NET Framework and Windows version combinations in Q3 2017. You can read the .NET Framework Monthly Rollups Explained to learn more about how the .NET Framework is updated. Security This release contains the security improvements included in the NET Framework May 2017 Security and Quality Rollup. Quality and Reliability The following improvements are incl...
Using .NET and Docker Together
Update: See Using .NET and Docker Together – DockerCon 2018 Update Many developers I talk to are either using Docker actively or planning to adopt containers in their environment. Containers are an important trend in our industry and .NET is part of that. Microsoft and Docker have been working together so that you'll have a great experience using Docker with .NET apps. The Docker ecosystem started as a Linux technology. You can use a similar Docker workflow with Linux and .NET Core as you may have used with other development platforms. The .NET team publishes Debian images to the microsoft/dotnet repository...
The week in .NET – .NET poster, Happy Birthday .NET with Jan Kotas, Skyworld
Previous posts: .NET Poster Everybody likes posters, right? Well here's a modern .NET infographic to hang in your office. If you were at BUILD, you probably saw us handing thousands of these out to people. Now you can have one too! Download the poster! Happy Birthday .NET with Jan Kotas In this quick interview, we talk to Jan Kotas, who was involved from the very beginning of .NET's "Rotor" -- a shared source, cross-platform version of .NET from the early days. Jan is now an architect on .NET Core and shares some of his stories building and open sourcing .NET. Game of the Week:...
Announcing EF 6.2 beta 1
Earlier this month, we announced a preview of Entity Framework Core 2.0, the lightweight, extensible and cross-platform version of EF for .NET Core and .NET Framework. Today we are making the 6.2 beta 1 version of the Entity Framework runtime and the corresponding Visual Studio tooling available. EF 6.2 is a new iteration of Microsoft's more traditional object/relational mapper for .NET Framework. Upgrading applications to the EF 6.2 beta 1 runtime As is usual, this prerelease version of the EF 6 runtime is available in NuGet. While in Visual Studio, you can install or update the EF package in an application...
Cloud Gal interview
Microsoft recently started a new series called "Cloud Gal" that promotes female software developers. They interviewed me last week and the episode just became live on Channel9. This was supposed to be pretty lighthearted so I stayed very high level when I talked about GC (turned out it was harder to talk on such high level than otherwise). It also included some non GC stuff (yes, I can talk about non GC stuff too...) like cats, anime and my thoughts on women in tech. If you are in the mood of something that's not focused on pure technical info, might be fun to watch. I would suggest to skip the introduction part ...
.NET Framework May 2017 Preview of Quality Rollup
This release is no longer recommended / available. A bug was found in the May 2017 Preview of Quality Rollup installer that is incompatible with the .NET Framework 4.7 installer. The bug only surfaces when the May 2017 Preview of Quality Rollup (this update) and the .NET Framework 4.7 are installed, in that order. See KB 4033488 for more information on the case where the .NET Framework 4.7 is installed after the May 2017 Preview of Quality Rollup. The .NET Framework quality improvements that were included in the May 2017 Preview of Quality Rollup will be released as planned in a future non-preview r...
The week in .NET – Microsoft Build 2017, .NET Core 2.0 preview 1, For the King
Previous posts: Microsoft Build 2017 The Microsoft Build 2017 conference is over. Here are some of the announcements and highlights: And of course, all the sessions are available on Channel 9. .NET Core 2.0 preview 1 shipped! Here are the announcements: And Mono 5 also shipped! Game of the Week: For the King For the King is a fun and unique take on an the classic RPG adventure game genre as it blends strategy, JRPG combat and roguelike elements beautifully. In For the...
Announcing EF Core 2.0 Preview 1
This week we made Entity Framework Core 2.0 Preview 1 available. Entity Framework Core (EF Core) is a lightweight, extensible, and cross-platform version of Entity Framework. EF Core follows the same release cycle as .NET Core but can be used in multiple .NET platforms, including .NET Core 2.0 and .NET Framework 4.6 or newer. Installing or upgrading to 2.0 Preview 1 Applications based on ASP.NET Core 2.0 Preview 1 can already use EF Core 2.0 Preview 1. Also, existing ASP.NET Core applications can upgrade EF Core by upgrading to the 2.0 Preview 1 version of the ASP.NET Core meta-package and removing any references...
Announcing .NET Core 2.0 Preview 1
Today, we are announcing .NET Core 2.0 Preview 1. It is the first public release of .NET Core 2.0. We have great improvements that we want to share and that we would love to get your feedback on. You can develop .NET Core 2.0 apps with Visual Studio 2017 Preview 15.3, Visual Studio for Mac or VS Code. ASP.NET Core 2.0 Preview 1 is also releasing today and takes advantage of the improvements in .NET Core 2.0 and Visual Studio 2017. You can download and get started with .NET Core 2.0 Preview 1 right now, on Windows, Linux and macOS: You can see complete details of the release in the .NET ...
Visual Studio 2017 Tools for Azure Functions
Visual Studio 2017 Tools for Azure Functions are now available as part of the Azure development workload starting in the Visual Studio 2017 15.3 release. These tools: Getting Started To get started: To create a new project, choose File -> New Project, and the Azure Functions project type This will create an empty project which contains the following files: To add a function to the application right click the project and choose “Add Item”, then choose the “Azure Function” item template. This will launch the Azure Function dialog that enables you to choose the...
Announcing ASP.NET Core 2.0.0-Preview1 and Updates for .NET Web Developers
The ASP.NET team is pleased to share the first preview version of the ASP.NET Core 2.0 framework. In this post, we’ll look at the new features and changes to the web framework that were announced at the Build 2017 keynote and sessions. We will also look at some other updates that were published for ASP.NET 4.7 and WCF. ASP.NET Core 2.0.0-preview1 The next full version of ASP.NET Core is on its way, and developers who have been following along on the ASP.NET GitHub repositories have been very vocal about their interest in the new features in this version. Some of these new features include: For ...
.NET Framework May 2017 Security and Quality Rollup
Last Updated (2015/05/31) Today, we are releasing a new Security and Quality Rollup and Security Only Update for the .NET Framework. Please see .NET Core May 2017 Updates for the .NET Core updates being released today. Security Microsoft Common Vulnerabilities and Exposures CVE-2017-0248 A security feature bypass vulnerability exists when Microsoft .NET Framework (and .NET Core) components do not completely validate certificates. An attacker could present a certificate that is marked invalid for a specific use, but the component uses it for that purpose. This action disregards the Enhanced Key Usage extensi...
.NET Core May 2017 Update
Today, we are releasing the .NET Core May Update. This includes .NET Core 1.0.5, 1.1.2 and .NET Core SDK 1.0.4. Details regarding the security issues addressed by this release can be seen in the Security Advisory announcement Security CVE-2017-0247 An issue exists can where, in the presence of a particular sequence of bytes, web pages attempting to display content containing this sequence of bytes may terminate and not display. CVE-2017-0248 A security feature bypass vulnerability exists when Microsoft .NET Core (and .NET Framework) components do not completely validate certificates. An attacker ...
The week in .NET – Microsoft Build 2017, .NET Core 2.0 status, Happy birthday .NET with Eilon Lipton, On .NET with Alfonso García-Caro on Fable, Stanford CoreNLP
Previous posts: Microsoft Build 2017 The Microsoft Build 2017 conference starts tomorrow in Seattle! You can watch the conference live starting at 8:00AM Pacific Time and get the scoop. .NET Core 2.0 status Only a few days to go before we reach zero bugs. Great progress has been made, but we are still 163 bugs away from zero. Happy birthday .NET with Eilon Lipton In February we took a camera crew to the Microsoft Alumni Network's big .NET 15th birthday bash and caught up with team members past and present. In this interview we chat with Eilon Lipton who's been a developer at Microsof...
Announcing the .NET Framework 4.7 General Availability
Last Updated: 2017/06/15 Today, we are announcing the general availability of the .NET Framework 4.7. The .NET Framework 4.7 was released as part of Windows 10 Creators Update a month ago. You can now install the .NET Framework 4.7 on other versions of Windows. You can download the .NET Framework 4.7: The .NET Framework 4.7 includes improvements in several areas: Please see the Announcing the .NET Framework 4.7 blog post to learn more about each of these improvements. You can see the complete list of improvements in the .NET Framework 4.7 release notes. We...
The week in .NET – .NET Architecture, .NET Core 2.0 status, Happy Birthday .NET with Matt Gertz, On .NET with Don Schenck on Red Hat, Fable
Previous posts: .NET Architecture There’s a new .NET Architecture web site, where you’ll find practical advice, best practices, and sample applications to help you implement different application patterns using .NET. Check it out! .NET Core 2.0 status 2.0 bugs are mostly under control and we think we will hit our zero-bugs goal on 5/10 with the following exceptions: Recent work includes: Happy Birthday .NET with Matt Gertz Matt Gertz is a group software engineering manager driving the developer experience for C#, Visual Basic, and F#. Ma...
JWT Validation and Authorization in ASP.NET Core
Post has moved here
The MVP Show Learns about ASP.NET, Identity Server, and Heidelberg
In the second episode of the MVP Show, intrepid host Seth Juarez traveled to Heidelberg, Germany to meet with Visual Studio and Development Technologies MVP Dominick Baier. Dominick is one of the developers responsible for the Identity Server open source project. Seth and Dominick shared several videos about all things API, Germany, and Security. Check them out below. Part 1: An Interview with Dominick Baier Part 2: Modern Authentication Architecture Part 3: IdentityServer 4 in action You can learn more about Identity Server and ASP.NET at the following locations: Identit...
ASP.NET Core Logging with Azure App Service and Serilog
This guest post was written by Mike Rousos ASP.NET Core supports diagnostic logging through the Microsoft.Extensions.Logging package. This logging solution (which is used throughout ASP.NET Core, including internally by the Kestrel host) is highly extensible. There's already documentation available to help developers get started with ASP.NET Core logging, so I'd like to use this post to highlight how custom log providers (like Microsoft.Extensions.Logging.AzureAppServices and Serilog) make it easy to log to a wide variety of destinations. It's also worth mentioning that nothing in Microsoft.Extension...
The week in .NET – Happy Birthday .NET with Chris Sells, free ASP.NET Core book, We are the Dwarves
Previous posts: Happy birthday .NET with Chris Sells In February, we threw a big .NET birthday bash with Microsoft Alumni and product teams. We caught up with Chris Sells who is currently a Product Manager at Google, and before that a Program Manager at Microsoft. Chris has been part of the .NET developer community since the beginning and he tells us a few great stories in this fun interview. Book of the week: ASP.NET Core succinctly, by Simone Chiaretta and Ugo Lattenzi In ASP.NET Core Succinctly, seasoned authors Simone Chiaretta and Ugo Lattanzi update you on all the advances provided b...
The week in .NET – Happy birthday .NET with Robin Cole, TinyORM, 911 Operator
Previous posts: On .NET This week on the show, we'll speak with Don Schenck about Red Hat. We'll take questions on Gitter, on the dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Happy birthday .NET with Robin Cole In February we got together with many Microsoft alumni and current employees for a huge .NET Birthday bash. We spoke to Robin Cole, who joined Microsoft in 2005 working on many projects including Expression and Visual Studio. In this quick interview, she shares her thoughts on developer...
NuGet Package Identity and Trust
Update on 10/16/2017: Package ID Prefix Reservation is now live. The documentation can be found here. We want to start this post with a huge thanks to you, the NuGet community. Over the last several months we have been talking to many of you to get feedback on NuGet package identity and trust. We’ve learned so much from you and we hope that what we have planned addresses some of the top concerns you have expressed to us. One of the recurring messages we heard from you is that it is difficult to determine the origin of a package. More specifically, who produced and published the package that you want to use, an...
Azure Functions Tools Roadmap
**Update 5-10-2017: **The first release of Visual Studio 2017 Tools for Azure Functions is now available to try We’ve been humbled by the intense interest in Visual Studio tools for Azure Functions since we shipped our initial preview for Visual Studio 2015 last fall. Unfortunately, given other constraints, Visual Studio 2017 did not include Azure Functions when we shipped in March. So, we’d like to provide an update to our roadmap for Functions Tooling including Visual Studio 2017 support now. Using the feedback we received from our first preview of the tools, we’ve decided that our next iteration of Azure Fun...
Announcing SignalR 2.2.2 (Preview 1)
Today we are happy to announce the release of SignalR 2.2.2-preview1. SignalR 2.2.2 is a servicing release, including some highly requested updates and bug fixes. Here are the highlights of the release: * Support for Service Bus 3 (https://github.com/SignalR/SignalR/issues/3548) * NetStandard version of the client (https://github.com/SignalR/SignalR/issues/3851) * A bunch of work making Redis Scaleout more reliable Here is a full list of issues fixed in this update. This update also includes a new version of the SignalR C++ client (beta-2), which includes the following features: * UWP Support * Allow...
The week in .NET – .NET Framework 4.7, reference documentation, On .NET on modular ASP.NET, Happy birthday .NET with Immo Landwerth, JustAssembly
Previous posts: .NET Framework 4.7 This week, we announced the release of the .NET Framework 4.7. We’ve added support for targeting the .NET Framework 4.7 in Visual Studio 2017, also updated today. The .NET Framework 4.7 includes improvements in several areas: You can see the complete list of improvements and the API diff in the .NET Framework 4.7 release notes. Read the blog post: Announcing the .NET Framework 4.7 by Rich Lander. New .NET reference documentation Almost a year ago, we piloted the .NET Core reference documentation on docs.microsoft.com. Today we are h...
.NET Framework April 2017 Security and Quality Rollup
Update (2017/05/15): Added Windows 10 entries to KB table. Update (2017/05/09): Known issue information added for the release. Update (2017/04/20): Known issue information added for the release. Today, we are releasing a new Security and Quality Rollup and Security Only Update for the .NET Framework. You can read the April 2017 Security Updates Release Notes to learn about all changes being released today. Known issue with the release: “Privilege not held” error with PowerShell “stop-computer” command: Workaround after April 2017 security updates from CVE-2017-0160. Security Microsoft Common Vulnerabilities a...
JWT Validation and Authorization in ASP.NET Core
This post was written and submitted by Michael Rousos In several previous posts, I discussed a customer scenario I ran into recently that required issuing bearer tokens from an ASP.NET Core authentication server and then validating those tokens in a separate ASP.NET Core web service which may not have access to the authentication server. The previous posts covered how to setup an authentication server for issuing bearer tokens in ASP.NET Core using libraries like OpenIddict or IdentityServer4. In this post, I'm going to cover the other end of token use on ASP.NET Core - how to validate JWT tokens and use them to...
Announcing the .NET Framework 4.7
Last Updated: 6/15/2017 Today, we are announcing the release of the .NET Framework 4.7. It's included in the Windows 10 Creators Update. We've added support for targeting the .NET Framework 4.7 in Visual Studio 2017, also updated today. See Announcing the .NET Framework 4.7 General Availability to learn about and download the .NET Framework 4.7 for other Windows versions and Windows Update. The .NET Framework 4.7 includes improvements in several areas: You can see the complete list of improvements and the API diff in the .NET Framework 4.7 release notes. To get started, upgrade to...
The week in .NET – On .NET on SonarLint and SonarQube, Happy birthday .NET with Dan Fernandez, nopCommerce, Steve Gordon
Previous posts: On .NET Last week, I spoke with Tamás Vajk and Olivier Gaudin about SonarLint and SonarQube: This week, we'll have Sébastien Ros on the show to talk about modular ASP.NET applications, as they are implemented in Orchard Core. We'll take questions on Gitter, on the dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Happy birthday .NET with Dan Fernandez We caught up with Dan Fernandez at the .NET birthday party last month to talk about the good old days and the crazy idea he ha...
How to create your own templates for dotnet new
You can now create your own templates for `dotnet new`, and this doc walks you through the process of creating one.
No GCs for your allocations?
Several people mentioned Java’s “no GC” GC proposal and asked if we can add such a thing. So I thought it deserves a blog post. Short answer – we already have such a feature and that’s called the NoGCRegion. The GC.TryStartNoGCRegion API allows you to tell us the amount of allocations you’d like to do and when you stay within it, no GCs will be triggered. And you are free to revert back to doing normal GCs when you want to by calling GC.EndNoGCRegion. This is a better model than having a separate GC. Long answer – It’s a better model because you have the flexibility to revert back to doing GCs when you need to...
Hash Passwords with ASP.NET Membership Providers
Are you using the legacy ASP.NET membership providers with your application? When you look in web.config, is there a membership configuration within the system.web element? The membership provider has been available since ASP.NET 2, and has been superseded by the Identity provider for a more secure authentication and authorization facility in your application. Best practices in security today dictate that you should not be storing passwords in cleartext or in an encrypted format. These values can be read or decrypted, and you will feel shame if your password list is published somewhere by a nefarious party. St...
The week in .NET – On .NET with Sidharth Gupta on Tizen, Happy birthday .NET with Bertrand Le Roy, JSON.NET 10, Gunnar Peipman
Previous posts: On .NET Last week, we spoke with Sidharth Gupta from Samsung about Tizen. Tizen is Samsung's open-source OS that runs on TVs, watches, phones, and other devices. The development platform for Tizen is built on .NET Core and Xamarin Forms. This week, we'll talk about SonarLint with Tamás Vajk. We'll take questions on Gitter, on the dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Happy birthday .NET! Bertrand Le Roy started using .NET with the first public betas, then proceede...
Notes from the ASP.NET Community Standup –March 21, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recor...
The week in .NET – Happy birthday .NET with Mads Torgersen, Coypu
Previous posts: On .NET This week, we'll have Sidarth Gupta and Hong-Seok Kim from Samsung on the show to talk about their Tizen OS and its support for .NET Core. The show won't be live this week, because of the time difference with Korea, but you may still send us your questions on Gitter's dotnet/home channel and on Twitter. Please use the tag. Happy birthday .NET! Mads Torgersen is the Principal Program Manager for the C# Language. He maintains the language specification and runs the language design process for C# in the open at https://github.com/dotnet/csharplang We caught up with Mads a...
Five Visual Studio 2017 Extensions for Web Developers
You’ve downloaded and installed Visual Studio 2017, and it’s a great improvement over previous versions. Now what? How can you make your web development experience better? In this article, we will recommend five Visual Studio extensions that will make your day-to-day tasks easier and even more enjoyable. Razor Language Service When you’re building ASP.NET Core applications using the MVC pattern, it would be nice to have some assistance when writing your views in razor templates. The Razor Language Services extension gives you IntelliSense for .NET expressions, hover tooltips for elements, and syntax hig...
NuGet is now fully integrated into MSBuild
In the past, NuGet packages were managed in two different ways - packages.config and project.json - each with their own sets of advantages and limitations. With Visual Studio 2017 and .NET Core, we have improved the NuGet package management experience by introducing the PackageReference feature in MSBuild. PackageReference brings new and improved capabilities such as deep MSBuild integration, improved performance for everyday tasks such as install and restore, multi-targeting and more. Try out PackageReference today! To get a piece of the PackageReference goodness, download Visual Studio 2017 and create a .NET ...
Announcing Nightly Releases for the Visual F# Tools
Announcing Nightly Releases for the Visual F# Tools In our previous blog post announcing F# 4.1 and a release of the Visual F# Tools, we mentioned that a new release model for the Visual F# tools would be coming soon. That time is now. To recap, nightly builds of the tools are successful builds of the latest master branch of the tools, after having been run through our Continuous Integration system successfully. These will include new features, bug fixes, and improvements to existing features that will eventually make their way into a forthcoming Visual Studio update or release. For VS 2017 RTW, it is highly rec...
The week in .NET – On .NET with Scott Hunter, On .NET with Matt Watson, MessagePack
Previous posts: On .NET We recorded two videos last week. In the first one, Scott Hunter showed Visual Studio 2017 and .NET Core SDK 1.0: In the second video, Matt Watson from Stackify showed us Prefix, a free lightweight dev tool that shows you real-time logs, errors, queries, and more, and Retrace, a powerful commercial solution for gathering and analysis of performance data. We have no show this week due to a last minute cancellation. Happy Birthday .NET! Last month we got together with the Microsoft Alumni Network and threw a big .NET 15th birthday bash with former .NET team ...
Notes from the ASP.NET Community Standup –March 9, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
New Features in C# 7.0
Here is a description of all the new language features in C# 7.0, which came out last Tuesday as part of the Visual Studio 2017 release. C# 7.0 adds a number of new features and brings a focus on data consumption, code simplification and performance. Perhaps the biggest features are tuples, which make it easy to have multiple results, and pattern matching which simplifies code that is conditional on the shape of data. But there are many other features big and small. We hope that they all combine to make your code more efficient and clear, and you more happy and productive. If you are curious about the design pr...
The week in .NET – Visual Studio 2017, .NET Core SDK, F# 4.1, On .NET with Phillip Carter, Happy Birthday from John Shewchuk, FNA, Pyre
Previous posts: Visual Studio 2017, .NET Core SDK 1.0, F# 4.1 Yesterday, we had a big product launch! Visual Studio 2017 is here, and with it come the releases of .NET Core SDK 1.0, and F# 4.1. Check out the posts for all the details: Get the bits now: On .NET In last week's episode, Phillip Carter gave a tour of F#. This episode is two full hours of delicious F# aimed mainly at C# developers with no prior F# experience: This week, we'll have two shows. First, Scott Hunter will give a recap of yesterday's announcements and what they mean ...
Announcing New ASP.NET Core and Web Development Features in Visual Studio 2017
We are pleased to announce updates to our ASP.NET tools, ASP.NET Core tools, Container tools, and frameworks that are shipping as part of the Visual Studio 2017 release today. We have made significant updates to the web development tools to make them easier for you to use and help make you more productive in your daily web development tasks. ASP.NET Core Tooling As part of this release, we are including an RTM version of the ASP.NET Core tools. Visual Studio 2015 included preview tooling based on project.json that supported the 1.0 and 1.1 versions of the ASP.NET Core framework. Visual Studio 2017 and it’s .c...
Announcing F# 4.1 and the Visual F# Tools for Visual Studio 2017
Announcing F# 4.1 and the Visual F# Tools for Visual Studio 2017 Last year, we announced F# 4.1 via a Peek in F# 4.1. As a recap, we mentioned: We're tremendously excited to share updates in those areas. .NET Core and .NET Standard Support for F# 4.1 Corresponding with the release of Visual Studio 2017 is preview support for using F# on .NET Core 1.0-1.1 and .NET Standard 1.6. Although this is in preview, certain pieces are RC-quality. Specifically, the following are in RC: However, the following are not supported at this time, but will be supported in a future Visual Studio 2...
Announcing .NET Core Tools 1.0
Today, we are releasing .NET Core Tools 1.0. It's an exciting day and an important milestone in the .NET Core journey. The tools are supported on Windows, macOS and Linux. You can use them at the command-line, with VS Code or as part of Visual Studio 2017. You can download the new .NET Core tools at .NET Core Downloads, for using .NET Core on the command-line. The tools are also integrated into Visual Studio 2017, also releasing today. You need to select the .NET Core cross-platform development workload when you install Visual Studio. You can read more about the Visual Studio 2017 release in Announcing Visual ...
The week in .NET – On .NET with Eric Mellino, Happy Birthday from Scott Hunter, OzCode
Previous posts: On .NET In last week's episode, Kendra interviewed Eric Mellino to talk about his CrazyCore game and game engine: This week, Phillip Carter will be on the show to walk an F# beginner and experienced C# dev (me) through the Tour of F#. We'll stream live on Channel 9. We'll take questions on Gitter's dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the shows. Happy Birthday .NET! A couple weeks ago we got together with the Microsoft Alumni Network and threw a big .NET 15th birthday bash...
Notes from the ASP.NET Community Standup –February 21, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
The week in .NET – On .NET with Beth Massi, NeinLinq
Previous posts: .NET Foundation The .NET Foundation has a new Executive Director, Jon Galloway. Jon replaces Martin Woodward. On .NET In last week's episode, we're speaking with Beth Massi to celebrate .NET's 15th anniversary: This week, Eric Mellino will be on the show to demo CrazyCore, a game engine written on .NET Core. We'll stream live on Channel 9. We'll take questions on Gitter's dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the shows. Package of the week: NeinLinq NeinLinq provides helpful extensions...
Let’s Try WCF Self-Hosted Services in a Container
Microservices are a hot architecture concept right now, and we hear a lot of interest in the architecture concepts. Many of the ideas and capabilities behind microservices are already possible with the WCF frameworks for client and server creation. There is one tenet about microservices that you can not do with WCF: run inside of a container. Until now… In this article, we’re going to take a look at running a simple WCF self-hosted service inside of a Docker container. The architecture that we are going to assemble in this article is quite simple: our self-hosted HTTP service will run inside of a Docker con...
How to evaluate info you read on garbage collectors
Just a word before I actually start this blog entry – I apologize for approving some of the comments so late – it appears that our blogs’ policy has changed and it would make some comments as pending without obvious reasons to me. Also as one of the ways to support the community I was thinking I could have a specific time on a regular cadence (could be an hour every month to start with) when I would answer questions on the .NET GC. I'm thinking perhaps gitter is the best forum but I am not sure - I don't know how popular it is with .NET developers (that care about memory performance) so if you have any suggestio...
Notes from the ASP.NET Community Standup –February 14, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
Building Single Page Applications on ASP.NET Core with JavaScriptServices
This is a guest post by Steve Sanderson These days, many developers are building Single-Page Applications (SPAs) using frameworks such as Angular or React. These are powerful frameworks that produce a great end-user experience, but we often hear that building these applications is complicated. It can be a challenge to integrate server-side and client-side code well, or even just to choose a productive project setup in the first place. Our goal is to make ASP.NET Core the best server-side platform for these kinds of projects. So, we recently shipped three new NuGet packages that are intended to simplify S...
The week in .NET – On .NET with Phil Haack, Readline
Previous posts: Happy 15th Birthday .NET! Happy 20th Anniversary Visual Studio! This week marks the 15th anniversary since .NET debuted to the world. On February 13th, 2002, the first version of .NET was released as part of Visual Studio.NET. Read Beth Massi's post, featuring a new interview of Anders Hejlsberg. It's also Visual Studio's 20th anniversary. Julia Liuson tells the story. On .NET In this week's episode, we're speaking with Phil Haack from GitHub: This week, we'll take a look back on the past 15 years of .NET with Beth Massi. We'll stream live on Channel 9. We'll take questions on Gitter...
Happy 15th Birthday .NET!
Today marks the 15th anniversary since .NET debuted to the world. On February 13th, 2002, the first version of .NET was released as part of Visual Studio.NET. It seems just like yesterday when Microsoft was building its "Next Generation Windows Services" and unleashed a new level of productivity with Visual Studio.NET. Since the beginning, the .NET platform has allowed developers to quickly build and deploy robust applications, starting with Windows desktop and web server applications in 2002. You got an entire managed framework for building distributed Windows applications, ASP.NET was introduced as the next ...
Announcing .NET Core Tools Updates in VS 2017 RC
Updated (4/2017): See .NET Core Releases to learn about newer releases. Updated (4/2017): See Announcing .NET Core Tools 1.0 to learn about the final .NET Core Tools 1.0 release in Visual Studio 2017 RTM. Today, we are releasing updates to the .NET Core SDK, included in Visual Studio 2017 RC. You can also install the .NET Core SDK for use with Visual Studio Code or at the command line, on Windows, Mac and Linux. Check out the Visual Studio blog to learn more about this Visual Studio 2017 update. The following improvements have been made in the release: The quality fixes have been made across ...
Announcing Continuous Delivery Tools for Visual Studio 2017
Posting on behalf of Ahmed Metwally Visual Studio Team Services enables developers to create build and release definitions for continuous build integration and deployment of their projects. With a continuous integration and deployment configured, unit tests automatically, assuming the build succeeds and the tests pass, the changes are automatically deployed run on every build after every code push. To better support this workflow in Visual Studio, we released an experimental DevLabs extension, Continuous Delivery Tools for Visual Studio with the Visual Studio 2017 RC.3 update. The extension makes it simple to a...
The week in .NET – On .NET on Docker and new Core tooling, Benchmark.NET, Magicka
Previous posts: On .NET In this week's episode, we're running ASP.NET in a Docker image, and we look at some of the changes in the .NET Core .csproj tooling. Apologies to those of you who watched live: we had some technical difficulties, and as a consequence, we did a second recording, which is now on Channel 9. This week, we'll have Phil Haack on the show. Phil works for GitHub, and before that was the Program Manager for ASP.NET MVC. We'll stream live on Channel 9. We'll take questions on Gitter's dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advanc...
ASP.NET Documentation Now on docs.microsoft.com
This post was written by Wade Pickett We are happy to announce ASP.NET documentation and guidance has been migrated to docs.microsoft.com! Better Together and Great Features This brings the ASP.NET documentation together with ASP.NET Core, C#, Entity Framework Core, Azure, Visual Studio, C++, and SQL on Linux. docs.microsoft.com will allow for a consistent experience across documentation sets, in addition to supporting: ASP.NET documentation is open for contributions in GitHub! ASP.NET Core docs and now ASP.NET docs are open and available in GitHub where you can contribute t...
.GAME’s Item System – Part 1 Challenge Explained
Last week's episode of .GAME started preparations for an item system that we'll be using for equipment and merchant mechanics. The episode covered some Unity fundamentals, such as methods of object rotation, tags, layers, sorting layers and filtering. We wrapped up with a development challenge, the scenario of which was: When the player moves towards a merchant, the merchant should rotate towards the player. This post will go over the design I took into consideration which fed into the solution that I came up with. Of course, this is by no means the only way you can solve the challenge. The result that I ended...
Notes from the ASP.NET Community Standup –January 24, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
Introducing scoped API keys
Update 2/14 (05:00 PM PST): This feature is now live! Login to your nuget account and expand the API Keys section to see the new experience. Since last year, we have been working on several fronts to advance NuGet as a secure environment for package distribution. This post describes an experience that will allow you to have better control of API keys that you use to push packages. Please note that this experience is currently only available on our staging environment and will be deployed to Nuget.org once we have incorporated your feedback, as described below. Feature summary This feature will give you better ...
The .NET Language Strategy
The .NET Language Strategy I am constantly aware of the enormous impact our language investments have on so many people's daily lives. Our languages are a huge strength of the .NET platform, and a primary factor in people choosing to bet on it - and stay on it. I've been here on the .NET languages team at Microsoft for more than a decade, and I've always seen us have developers' interests first and foremost in our minds as we moved the languages forward. The open source revolution (of not just the .NET languages but the whole .NET stack) has improved the conversation dramatically, and - I think - helped us to ma...
The week in .NET – On .NET on public speaking, ndepend, CrazyCore, The Perils of Man
Previous posts: .NET Core, .NET Native, NuGet, VS 2017 RC updates This week, we announced updates to .NET Core, .NET Native, NuGet, and VS 2017 RC. Check out the posts for all the details. On .NET We had two shows last week. Our first show was a special on public speaking hosted by Kendra Havens, with Scott Hanselman, Kasey Uhlenhuth, Maria Naggaga Nakanwagi, and Donovan Brown. On our second show, Patrick Smacchia showed the latest version of ndepend, a very advanced code quality tool. Video removed at the request of nDepend. Tool of the week: CrazyCore Eric Mel...
January 2017 Update for ASP.NET Core 1.1
We just released an update for ASP.NET Core 1.1 due to Microsoft Security Advisory 4010983. The advisory is for a vulnerability in ASP.NET Core MVC 1.1.0 that could allow denial of service. All of the information you need is in the advisory. A short summary is provided below. Red Hat customers should consult the Red Hat advisory for the same issue. How to Obtain the Update The update is in the Microsoft.AspNetCore.Mvc.Core package. You need to upgrade your project to use version 1.1.1 (or later) of the package and then re-publish your application. See below for examples of project file updates, for project.json...
Announcing .NET Core, .NET Native and NuGet Updates in VS 2017 RC
Updated (4/2017): See .NET Core Releases to learn about newer releases. We just released updates to the .NET Core SDK, .NET Native Tools and NuGet, all of which are included in Visual Studio 2017 RC. You can also install the .NET Core SDK for command-line use, on Windows, Mac and Linux. Please check out the ASP.NET blog to learn more about Web Tools updates and the Visual Studio blog for the Visual Studio 2017 RC update. The following improvements are the .NET highlights of the release: Note: csproj projects created with earlier releases of Visual Studio 2017 or on the command-line with the .N...
The week in .NET – Adafruit Class Library for Windows IoT Core, Floor Plan
Previous posts: On .NET We had no show last week, but we'll have two this week. On Wednesday at 9:00AM Pacific Time, Scott Hanselman will host a panel discussion on public speaking, with Kasey Uhlenhuth, Maria Naggaga Nakanwagi, Donovan Brown, and Mitch Muenster. On Thursday at 9:00AM Pacific Time, Patrick Smacchia will be on the show to talk about the brand new version of ndepend. Both shows will stream live on Channel 9. We'll take questions on Gitter, on the dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't ...
Notes from the ASP.NET Community Standup –January 10, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
ASP.NET Core Authentication with IdentityServer4
This is a guest post by Mike Rousos In my post on bearer token authentication in ASP.NET Core, I mentioned that there are a couple good third-party libraries for issuing JWT bearer tokens in .NET Core. In that post, I used OpenIddict to demonstrate how end-to-end token issuance can work in an ASP.NET Core application. Since that post was published, I've had some requests to also show how a similar result can be achieved with the other third-party authentication library available for .NET Core: IdentityServer4. So, in this post, I'm revisiting the question of how to issue tokens in ASP.NET Core apps and, this ti...
.NET Core Image Processing
Image processing, and in particular image resizing, is a common requirement for web applications. As such, I wanted to paint a panorama of the options that exist for .NET Core to process images. For each option, I'll give a code sample for image resizing, and I'll outline interesting features. I'll conclude with a comparison of the performance of the libraries, in terms of speed, size, and quality of the output. CoreCompat.System.Drawing If you have existing code relying on , using this library is clearly your fastest path to .NET Core and cross-platform bliss: the performance and quality are fine, and the API ...
NuGet – Ending Windows XP support
At NuGet, we are constantly improving our security. One of the steps we are taking is to move our HTTPS end points to meet industry standards for algorithms and protocols. This means that connecting to nuget.org services from machines that don’t support modern cipher algorithms will no longer be supported (such as TLS 1.0 support in Windows XP). Windows XP reached end of OS support on April 8, 2014, and does not meet this minimum requirement. Therefore, we plan to end NuGet support for Windows XP on April 8, 2017. After support is discontinued, you will no longer be able to connect to nuget.org services from any...
The week in .NET – On .NET with David Pine, PwdLess, Terraria
To read last week's post, see The week in .NET – On .NET with Reed Copsey, Jr., Orchard Harvest, Ammy, Concurrency Visualizer, Eco. On .NET Last week, David Pine was on the show to talk about his magic mirror, a screen in a mirror, that can display useful information such as his schedule for the day, the weather forecast, and much more. The mirror uses a Raspberry Pi 3 running Windows 10 IoT Core, and runs a custom, open-source UWP application. It also has a camera, microphone, and sound bar, enabling voice-based interactions. This week, we'll talk about the year ahead for .NET. The list of guests is still T...
Improving the NuGet documentation experience on docs.microsoft.com
In late 2016, we started on the journey of improving the docs experience for NuGet with the revamped docs experience. Continuing that journey, today we are announcing the move to docs.microsoft.com/nuget. Given how NuGet has grown to become an integral part of the Visual Studio and .NET ecosystems, this move furthers the integration by providing a seamless experience to navigate documentation across .NET, Visual Studio and NuGet. This move also brings several improvements such as: Will my existing references to documentation break? Existing references should continue to work. We have updated the old do...
The week in .NET – On .NET with Reed Copsey, Jr., Orchard Harvest, Ammy, Concurrency Visualizer, Eco
To read last week's post, see The week in .NET – On .NET with Glenn Versweyveld, Protobuf.NET, Arizona Sunshine. Starting this week, UWP links, which have been in the general .NET section until now, are getting their own section thanks to Michael Crump who graciously accepted to provide weekly contents along with Phillip Carter for F#, Stacey Haffner for gaming, and Dan Rigby for Xamarin. Orchard Harvest The Orchard CMS community will hold its yearly conference in New York City from February 21 to the 22. This week is the last one to benefit from early registration fees. I'll be there myself, to give a talk ...
Notes from the ASP.NET Community Standup –January 3, 2017
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
The week in .NET – On .NET with Glenn Versweyveld, Protobuf.NET, Arizona Sunshine
To read last week's post, see The week in .NET – On .NET with Steve Smith, Jint, Blue Effect. On .NET Last week, I published another short interview from the MVP Summit, this time with Glenn Versweyveld about Kliva, his Strava client for Windows: This week, I'll publish the last of our MVP Summit interviews, in which Reed Copsey, Jr. told me about the F# Software Foundation and its new programs. Next week, we'll resume our regular shows. Package of the week: Protobuf.NET Protocol Buffers, or Protobufs for short, are a serialization format invented by Google, that is popular for its performance and simplici...
Notes from the ASP.NET Community Standup –December 13, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
The week in .NET – On .NET with Steve Smith, Jint, Blue Effect
To read last week's post, see The week in .NET – .NET Core triage on On .NET, ShareX. Next week, the post will be a little late like this week. On .NET Last week, I published a short interview with Steve Smith that was shot during the MVP Summit. We talked about ASP.NET Core and its documentation, that Steve has been contributing to, about his consulting activity, and about his Kickstarter-funded software craftsmanship calendar. This week, I'll publish another MVP Summit short interview. Package of the week: Jint Jint is a Javascript interpreter for .NET which provides full ECMA 5.1 compliance (6.0 wor...
NuGet.Server 2.11.3 now available
Today we are releasing an update to the NuGet.Server package. The purpose of this update is to address a bug that enabled NuGet.Server to be installed on projects that target .NET Framework versions less than 4.6. Issue addressed Previously, there was a bug in NuGet.Server 2.11.2 (3257, 3406) that incorrectly considered the package to be compatible with projects that target .NET Framework prior to 4.6. Upon installing the package, the build would fail due to a missing NuGet.Server reference. With this update, users will not be able to install NuGet.Server with incompatible projects. Try it out! This update of...
The week in .NET – .NET Core triage on On .NET, ShareX
To read last week's post, see The Year in .NET – Visual Studio 2017 RC and .NET Core updated, On .NET with Stephen Cleary and Luis Valencia, Ulterius, Inferno, Bastion, LoGeek Night. I might not post next week, for reasons you'll surely understand, or I might do so one or two days late... Happy holidays! On .NET Last week, we had Karel Zikmund, Wes Haggard, and Immo Landwerth on the show to talk about .NET Core triage and project management: Because it's the holiday season, we won't have have a live show until next year, but I will publish more of the short interviews that we recorded at the MVP Summit, so ...
Code Style Configuration in the VS2017 RC Update
Visual Studio 2017 RC introduced code style enforcement and EditorConfig support. We are excited to announce that the update includes more code style rules and allows developers to configure code style via EditorConfig. What is EditorConfig? EditorConfig is an open source file format that helps developers configure and enforce formatting and code style conventions to achieve consistent, more readable codebases. EditorConfig files are easily checked into source control and are applied at repository and project levels. EditorConfig conventions override their equivalents in your personal settings, such that the c...
Announcing Microsoft ASP.NET WebHooks V1 RTM
We are very happy to announce ASP.NET WebHooks V1 RTM making it easy to both send and receive WebHooks with ASP.NET. WebHooks provide a simple pub/sub model for wiring together Web APIs and services with your code. A WebHook can be used to get notified when a file has changed in Dropbox, a code change has been committed to GitHub, a payment has been initiated in PayPal, a card has been created in Trello, and much more -- the possibilities are endless! When subscribing, you provide a callback URI where you want to be notified. When an event occurs, an HTTP POST request is sent to your callback URI with informat...
Project Springfield: a Cloud Service Built Entirely in F#
This post was written by William Blum, a Principal Software Engineering Manager on the Springfield team at Microsoft Research. Earlier this year, Microsoft announced a preview of Project Springfield, one of the most sophisticated tools Microsoft has for rooting out potential security vulnerabilities in software. Project Springfield is a fuzz testing service which finds security-critical bugs in your code. One of the amazing things about Springfield is that it's built on top of Microsoft's development platforms - F#, .NET, and Azure! This post will go over some of the what, why, and how of Project Springfiel...
The Year in .NET – Visual Studio 2017 RC and .NET Core updated, On .NET with Stephen Cleary and Luis Valencia, Ulterius, Inferno, Bastion, LoGeek Night
To read last week's post, see The week in .NET – On .NET on MyGet – FlexViewer – I Expect You To Die. The Week in .NET is now more than a year old! Our first post was published on December 1 of last year, and it had only 6 links. This week's issue has more than 60! This is not me becoming less selective (I'm actually becoming more selective), it really is the community growing, and producing more quality content each week. My goals when I started these posts were the following: * Provide useful resources every week. * Show how productive the .NET community is. * Recognize the amazing work that's being done...
.NET Framework December 2016 Monthly Rollup is Now Available
Today we are releasing a new Security and Quality Rollup and Security Only Update for the .NET Framework. This release resolves a security vulnerability and includes two new quality and reliability improvements. The Security and Quality Rollup is available via Windows Update, Windows Server Update Services and Microsoft Update Catalog. The Security Only Update is available via Windows Server Update Services and Microsoft Update Catalog. You can read more about the recent changes to how the .NET Framework receives updates on the .NET Framework Monthly Rollups Explained post. Security This release resolves a vulne...
December 2016 Update for .NET Core 1.0
Today, we are releasing a new set of reliability and quality updates for .NET Core 1.0. This month's update is our second Long Term Support (LTS) update and includes updated versions of multiple packages in .NET Core, ASP.NET Core and Entity Framework Core. We recommend everyone on the 1.0.* LTS track move to this update immediately. How to Obtain the Updates .NET Core 1.0.3 Fixes For more information on the change, please see the .NET Core 1.0.3 release notes. Debugging WinHttpHandler Fixes: ASP.NET Core Fixes Entity Framework Core Fixes ...
New Updates to Web Tools in Visual Studio 2017 RC
Update 12/15: There was a bug in the Visual Studio 2017 installer that shipped between 12/12 and 12/14, that if you updated a prior RC installation it uninstalled IIS Express, Web Deploy, and LocalDB. The fix is to manually re-install IIS Express, Web Deploy, and LocalDB. We shipped an updated installer on 12/15 that fixed this issue, so if you updated Visual Studio 2017 RC on 12/15 or later you will not be affected. For details see our known issues page. Today we announced an update to Visual Studio 2017 RC that includes a variety of improvements for both ASP.NET and ASP.NET Core projects. If you've already i...
Updating Visual Studio 2017 RC – .NET Core Tooling improvements
This post was co-authored by Joe Morris, a Senior Program Manager on the .NET Team and David Carmona, a Principal Program Manager Lead on the .NET Team. Today, an update to Visual Studio 2017 RC was announced. As part of this update, we have made several enhancements and bug fixes to the .NET Core tools that are part of Visual Studio 2017. For previous information about these tools you can read our original blog post announcing the initial RC release of Visual Studio 2017. Summary This update contains many enhancements and bug fixes to the early alpha we released with Visual Studio 2017 RC. Despite this ...
The week in .NET – On .NET on MyGet – FlexViewer – I Expect You To Die
To read last week's post, see The week in .NET – Cosmos on On.NET, GongSolutions.WPF.DragDrop, Transistor. On .NET Last week, we had Xavier Decoster and Maarten Belliauw from MyGet on the show: This week, we won't record a new show, and instead I'll post some of the videos I recorded during the MVP summit. Package of the week: FlexViewer by ComponentOne There are many ways to do reporting with .NET, and choosing one can be daunting. ComponentOne build, maintains, and supports a full lineup of components, including reporting. FlexViewer is an interactive report viewing component that works in WinForms, UWP,...
Notes from the ASP.NET Community Standup – November 29, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway(Jon's in Russia this week)and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team pub...
Introducing the ASP.Net Async OutputCache Module
OutputCacheModule is ASP.NET’s default handler for storing the generated output of pages, controls, and HTTP responses. This content can then be reused when appropriate to improve performance. Prior to the .NET Framework 4.6.2, the OutputCache Module did not support async read/write to the storage. Starting with the .NET Framework 4.6.2 release, we introduced a new OutputCache async provider abstract class named OutputCacheProviderAsync, which defines interfaces for an async OutputCache provider to enable asynchronous access to a shared OutputCache. The Async OutputCache Module that supports those interfaces is ...
Notes from the ASP.NET Community Standup – November 22, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. This week the team hosted the standup on Aerial Spaces. Every week's episode is published on YouT...
The week in .NET – Cosmos on On.NET, GongSolutions.WPF.DragDrop, Transistor
To read last week's post, see The week in .NET – .NET Core, ASP.NET Core, EF Core 1.1 – Docker – Xenko. On .NET Last week, Chad Z. Hower, a.k.a. Kudzu was on the show to talk about Cosmos, a C# open source managed operating system: This week, we'll speak with Xavier Decoster and Maarten Balliauw about MyGet. The show is on Wednesday this week and begins at 10AM Pacific Time on YouTube. We'll take questions on the video's integrated chat. Package of the week: GongSolutions.WPF.DragDrop The GongSolutions.WPF.DragDrop library is an easy to use drag & drop framework for WPF. It supports MVVM, multi...
MVP Hackathon 2016: Cool Projects from Microsoft MVPs
Last week was the annual MVP Summit on Microsoft's Redmond campus. We laughed, we cried, we shared stories around the campfire, and we even made s'mores. Ok, I'm stretching it a bit about the last part, but we had a good time introducing the MVPs to some of the cool technologies you saw at Connect() yesterday, and some that are still in the works for 2017. As part of the MVP Summit event, we hosted a hackathon to explore some of the new features and allow attendees to write code along with Microsoft engineers and publish that content as an open source project. We shared the details of some of these projects w...
Notes from the ASP.NET Community Standup – November 1, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Join Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video ...
The week in .NET – .NET Core, ASP.NET Core, EF Core 1.1 – Docker – Xenko
To read last week's post, see The week in .NET – Mitch Muenster – Stateless. .NET Core, ASP.NET Core, EF Core 1.1, VS for Mac Preview, VS 2017 RC, SQL Server on Linux, Tizen, Google joins .NET Foundation, and Microsoft becomes a Linux Foundation platinum member This week, at the Connect(); // 2016 event, we made a number of announcements, including Visual Studio 2017 RC, Visual Studio for Mac Preview, SQL Server on Linux Preview, .NET Core 1.1, Entity Framework Core 1.1, ASP.NET Core 1.1, Samsung adopts .NET in their Tizen OS, Google joins the .NET Foundation, and Microsoft becomes a Linux Foundation platinum m...
Client-side debugging of ASP.NET projects in Google Chrome
Updated 2017/1/3 - Setting to control script debugging added. See below. Visual Studio 2017 RC now supports client-side debugging of both JavaScript and TypeScript in Google Chrome. For years, it has been possible to debug both the backend .NET code and the client-side JavaScript code running in Internet Explorer at the same time. Unfortunately, the capability was limited solely to Internet Explorer. In Visual Studio 2017 RC that changes. You can now debug both JavaScript and TypeScript directly in Visual Studio when using Google Chrome as your browser of choice. All you should do is to select Chrome as your brow...
Announcing NuGet 4.0 RC
NuGet 4.0 RC for Visual Studio 2017 is focused on adding support for .NET Core scenarios, addressing key customer feedback and improving performance in a variety of scenarios. This release brings several improvements like support for PackageReference, NuGet commands as MSBuild targets, background package restore, and more. This post gives an overview of the new features and improvements available in NuGet 4.0 RC. Downloads NuGet.exe 4.0 RC will be available for download very soon. This blog post will be updated and we'll tweet about it at that time. NuGet Package Manager Extension in Visual Studio 2017 Start...
Announcing .NET Core Tools MSBuild “alpha”
We are excited to announce the first "alpha" release of the new MSBuild-based .NET Core Tools. You can try out the new .NET Core Tools in Visual Studio 2017 RC, Visual Studio for Mac, Visual Studio Code and at the commandline. The new Tools release can be used with both the .NET Core 1.0 and .NET Core 1.1 runtimes. When we started building .NET Core and ASP.NET Core it was important to have a project system that worked across Windows, Mac and Linux and worked in editors other than Visual Studio. The new project.json project format was created to facilitate this. Feedback from customers was they loved the new p...
Put a .NET Core App in a Container with the new Docker Tools for Visual Studio
By now hopefully you’ve heard the good news that we’ve added first class support for building and running .NET applications inside of Docker containers in Visual Studio 2017 RC. Visual Studio 2017 and Docker support building and running .NET applications using Windows containers (on Windows 10/Server 2016 only), and .NET Core applications on Linux containers, including the ability to publish and run Linux containers on Microsoft’s Azure App Service. Docker containers package an application with everything it needs to run: code, runtime, system tools, system libraries – anything you would install on a server. P...
Announcing the Fastest ASP.NET Yet, ASP.NET Core 1.1 RTM
We are happy to announce that ASP.NET Core 1.1 is now available as a stable release on nuget.org! This release includes a bunch of great new features along with many bug fixes and general enhancements. We invite you to try out the new features and to provide feedback. To update an existing project to ASP.NET Core 1.1 you will need to do the following: Side by side install NOTE: By installing the new SDK, you will update the default behavior of the command. It will use msbuild and process csproj projects instead of project.json. Similarly, will create a csproj profile file. In...
Announcing .NET Core 1.1
Updated (2017): See .NET Core Releases to learn about newer releases. We are excited to announce the release of .NET Core 1.1 RTM, the first "Current" release. You can start creating .NET Core 1.1 apps, today, in Visual Studio 2015, Visual Studio 2017 RC, Visual Studio Code and Visual Studio for the Mac. We used the 1.1 release to achieve the following improvements: News flash: ASP.NET Core 1.1 with Kestrel was ranked as the fastest mainstream fullstack web framework in the TechEmpower plaintext benchmark. News flash: Google Cloud is joining the .NET Foundation Technical Steering Group. ...
Announcing Entity Framework Core 1.1
Entity Framework Core (EF Core) is a lightweight, extensible, and cross-platform version of Entity Framework. Today we are making Entity Framework Core 1.1 available. EF Core follows the same release cycle as .NET Core. Continuous improvements every 2 months and new features released every 6 months. This is the first feature release since 1.0. Be sure to read the Upgrading to 1.1 section, at the end of this post, for important information about upgrading to the 1.1 release. What's in 1.1 The 1.1 release is focused on addressing issues that prevent folks from adopting EF Core. This includes fixing bugs and addin...
The week in .NET – Mitch Muenster – Stateless
To read last week's post, see The week in .NET – On .NET on CoreRT and .NET Native – Enums.NET – Ylands – Markdown Monster. On .NET Last week, we hosted the MVP Summit, and instead of having a big one-hour show, we did several mini-interviews with MVPs. The first one was published on Monday. Mitch Muenster spent 25 minutes with us talking about being a developer with autism: This week, we'll publish the other interviews that we recorded during the summit. Package of the week: Stateless Almost all applications implement processes that can be represented as workflows or state machines. Stateless is a library...
.NET Core Data Access
.NET Core was released a few months ago, and data access libraries for most databases, both relational and NoSQL are now available. In this post, I'll detail what client libraries are available, as well as show code samples for each of them. ORM EF Core Entity Framework is Microsoft's Object-Relational Mapper for .NET, and as such is one of the most-used data access technologies for .NET. EF Core, released simultaneously with .NET Core, is a lightweight and extensible version of Entity Framework that works on both .NET Core and .NET Framework. It has support for Microsoft SQL Server, SQLite, PostgreSQL, MySQL,...
The week in .NET – On .NET on CoreRT and .NET Native – Enums.NET – Ylands – Markdown Monster
To read last week's post, see The week in .NET – .NET Foundation – Serilog – Super Dungeon Bros. On .NET Last week, Mei-Chin Tsai and Jan Kotas were on the show: This week, we won't be streaming live, but we'll be taking advantage of the presence of many MVPs on campus for the MVP Summit to speak with as many of them as possible in the form of short 10-15 minute interviews. Package of the week: Enums.NET Enums.NET is a high-performance type-safe .NET enum utility library which caches enum members' name, value, and attributes and provides many operations as C# extension methods for ease of use. It is availa...
Visual Studio Tools for Azure Functions
Update 5-10-2017: The first release of Visual Studio 2017 Tools for Azure Functions is now available to try. As discussed in the Visual Studio 2017 Toolspost and these 2015 tools were preview tools that provided us great feedback and learning. However, as outlined in our roadmap post, the pivot to precompiled functions with a focus on .NET Standard 2.0 means we have no plans to release any further updates to 2015 at this time. We would encourage everyone to try out the new tools for Visual Studio 2017. Today we are pleased to announce a preview of tools for building Azure Functions for Visual Studio 2015. Azu...
The week in .NET – .NET Foundation – Serilog – Super Dungeon Bros
To read last week's post, see The week in .NET – .NET, ASP.NET, EF Core 1.1 Preview 1 – On .NET on EF Core 1.1 – Changelog – FluentValidation – Reverse: Time Collapse. On .NET: Martin Woodward on the .NET Foundation Last week, Martin Woodward was on the show to talk about the .NET Foundation: This week, we'll speak with Mei-Chin Tsai and Jan Kotas about CoreRT and .NET Native and .NET. The show is on Thursdays and begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can...
Bearer Token Authentication in ASP.NET Core
This is a guest post from Mike Rousos Introduction ASP.NET Core Identity automatically supports cookie authentication. It is also straightforward to support authentication by external providers using the Google, Facebook, or Twitter ASP.NET Core authentication packages. One authentication scenario that requires a little bit more work, though, is to authenticate via bearer tokens. I recently worked with a customer who was interested in using JWT bearer tokens for authentication in mobile apps that worked with an ASP.NET Core back-end. Because some of their customers don't have reliable internet connections, they...
Announcing NuGet 3.5 RTM
NuGet 3.5 RTM for Visual Studio 2015 and nuget.exe provide quality improvements, performance improvements, features and new target frameworks like netstandard and netcoreapp. Downloads All NuGet downloads are available on https://nuget.org/downloads. NuGet.exe 3.5 RTM is not marked as the latest yet in the download page or uploaded as a package, so your version of NuGet.exe will not update to 3.5 RTM if you are using the update -self switch. Over the next few weeks once we get some more real world usage of the tools, we will make this change. This blog post will be updated and tweet will be sent out at that tim...
The week in .NET – .NET, ASP.NET, EF Core 1.1 Preview 1 – On .NET on EF Core 1.1 – Changelog – FluentValidation – Reverse: Time Collapse
To read last week's post, see The week in .NET – Bond – The Gallery. Preview 1 of .NET Core 1.1, ASP.NET Core 1.1, and EF Core 1.1 announced Preview 1 versions of .NET Core 1.1, ASP.NET Core 1.1, and Entity Framework Core 1.1 were released today. Check out the blog posts to discover the new features! On .NET Last week, Rowan Miller was on the show to talk about Entity Framework Core 1.1: This week, we'll speak with Martin Woodward about the .NET Foundation. The show is on Thursdays and begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel and o...
Announcing Entity Framework Core 1.1 Preview 1
Entity Framework Core (EF Core) is a lightweight, extensible, and cross-platform version of Entity Framework. Today we are making Entity Framework Core 1.1 Preview 1 available. Upgrading to 1.1 Preview 1 If you are using one of the database providers shipped by the EF Team (SQL Server, SQLite, and InMemory), then just upgrade your provider package. If you are using a third-party database provider, then check to see if they have released an update that depends on 1.1.0-preview1-final. If they have, then just upgrade to the new version. If not, then you should be able to upgrade just the EF Core relational compone...
Announcing .NET Core 1.1 Preview 1
We're excited to announce the .NET Core 1.1 Preview 1 release today. It includes support for additional Linux distributions, has many updates and is the first Current release. I will describe all of these changes below. The release is a preview release and is intended as an early look at the .NET Core 1.1 release. It is not "Go Live" and is not yet recommended for production workloads. ASP.NET Core 1.1 Preview 1 and Entity Framework Core 1.1 Preview 1 are also shipping today. Please check out those releases, too. You can download the release now: You can see the full set of .NET Core 1....
Announcing ASP.NET Core 1.1 Preview 1
Today we are happy to announce the release of ASP.NET Core 1.1 Preview 1. This release includes a bunch of great new features along with many bug fixes and general enhancements. We invite you to try out the new features and to provide feedback. To update an existing project to ASP.NET Core 1.1 Preview 1 you will need to do the following: 1. Download and install the updated .NET Core 1.1 Prevew 1 SDK 2. Follow the instructions on the .NET Core 1.1 Preview 1 announcement to update your project to use .NET Core 1.1 Preview 1 3. Update your ASP.NET Core packages dependencies to use the new 1.1.0-preview1 versions...
Announcing the October 2016 Update for .NET Core 1.0
The title may be a bit grand for what's included in this month's update but it is important for folks encountering this specific issue. Look for more in the next month or so. We are releasing an update today which addresses an issue installing on a clean macOS Sierra system. The change is limited to the macOS installer. There are no changes in the runtime or tools; .NET Core 1.0.1 remains the latest release for Windows and Linux and the latest Microsoft.NETCore.App version remains 1.0.1. You can download the updated .NET Core 1.0.2 macOS SDK installer now. For more information on the change, please see the .NE...
.NET Core Tooling in Visual Studio “15”
This post was co-authored by David Carmona, a Principal Program Manager Lead in .NET Team and Joe Morris, a Senior Program Manager in .NET Team. Couple of weeks back, we dedicated a blog post introducing .NET Standard 2.0, which will significantly extend your ability to share code by unifying .NET APIs across all application types and platforms. Today, we are going to focus on how we are unifying the project system and the build infrastructure with MSBuild. These changes were announced back in May and will be available aligned with the next version of Visual Studio (Visual Studio "15"). These tools will pro...
Modern ASP.NET Web Forms Development – Dependency Injection
We’ve all read various ‘best practices’ posts about this framework and that framework from expert developers in the community. They’ll cover topics regarding how to make your application more maintainable and how to drive down the risk of maintenance in your applications. A common design recommendation is to structure your applications so that you compose the objects you are working on. The MVC framework is a good example that demonstrates this technique. You compose controller objects in MVC using constructor dependency injection so that the other facilities that our controllers need like loggers and databas...
Notes from the ASP.NET Community Standup – October 18, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – Bond – The Gallery
To read last week's post, see The week in .NET – On .NET on Net Standard 2.0 – Nancy – Satellite Reign. On .NET We didn't have a show last week, but we're back this week with Rowan Miller to chat about Entity Framework Core 1.1 and .NET. The show is on Thursdays and begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel and on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Package of the week: Bond Bond is a battle-tested binary serialization format and library, similar to Google's Protocol B...
Notes from the ASP.NET Community Standup – October 11, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
Hosting .NET Core Services on Service Fabric
This post was written by Vaijanath Angadihiremath, a software engineer on the .NET team. This tutorial is for users who already have a group of ASP.NET Core services which they want to host as microservices in Azure using Azure Service Fabric. Azure Service Fabric is a great way to host microservices in a PaaS world to obtain many benefits like high density, scalability and upgradability. In this tutorial, I will take a self-contained ASP.NET Core service targeting the .NETCoreApp framework and host it as a guest executable in Service Fabric. Writing cross platform services/apps using the same code base is one o...
.NET Framework Monthly Rollup: October 2016
Today marks the first release of the new .NET Framework Monthly Rollup. Here's what went into the release: Security Microsoft Security Bulletin MS16-120 - Important: Security Update for Microsoft Graphics Component (3192884) This update resolves vulnerabilities in Microsoft Windows, Microsoft Office, Skype for Business, Silverlight, Microsoft Lync, and the Microsoft .NET Framework. The vulnerabilities could allow remote code execution if a user either visits a specially crafted website or opens a specially crafted document. This update addresses the vulnerabilities by correcting how the Windows font library hand...
.NET Framework Monthly Rollups Explained
Updated (2017/5/31) We recently introduced the .NET Framework Monthly Rollup, a new and simpler way for you to install all applicable .NET Framework updates in a single step. We wanted to go into more depth on these new releases. This post describes the three monthly update types that you can install. It shows you what the install process looks like and addresses some common questions that we have heard since introducing the new model. The introduction of these new monthly releases aligns with a similar set of monthly Windows releases that you can also learn more about. Monthly Releases There are three...
The week in .NET – On .NET on Net Standard 2.0 – Nancy – Satellite Reign
To read last week's post, see The week in .NET – On .NET on Cecil – NAudio – SpeechCentral – Hand of Fate. On .NET Last week, Immo Landwerth was on the show to talk about Net Standard 2.0: This week, we'll speak with Joe Morris and Srivatsn Narayanan about the new .NET Core build system. The show is on Thursdays and begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel or on Twitter. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Update (10/13/2016): we have to postpone this week's show. We apolo...
The week in .NET – On .NET on Cecil – NAudio – SpeechCentral – Hand of Fate
To read last week's post, see The week in .NET: On .NET on Orchard 2 – Mocking on Core – StoryTeller – Armello. On .NET Last week, JB Evain was on the show: This week, we'll speak with Immo Landwerth from the .NET team about NetStandard 2.0. The show begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Package of the week: NAudio NAudio is a library for reading, writing, decoding, encoding, converting, and playing audio files. The following code ...
Storing and using secrets in Azure
Most applications need access to secret information in order to function: it could be an API key, database credentials, or something else. In this post, we'll create a simple service that will compare the temperatures in Seattle and Paris using the OpenWeatherMap API, for which we'll need a secret API key. I'll walk you through the usage of Azure's Key Vault for storing the key, then I'll show how to retrieve and use it in a simple Azure function. Prerequisites In order to be able to follow along, you'll need an Azure subscription. It's very easy to get a trial subscription, and get started for free. Where to ...
Introducing the ASP.Net Async SessionState Module
SessionStateModule is ASP.NET's default session-state handler which retrieves session data and writes it to the session-state store. It already operates asynchronously when acquiring the request state, but it doesn’t support async read/write to the session-state store. In the .NET Framework 4.6.2 release, we introduced a new interface named ISessionStateModule to enable this scenario. Benefits of the asynchronous SessionState module It’s all about the scalability. As the world moves to the cloud, it makes really easy to scale-out computing resources to serve the large spikes in service requests to an applicatio...
Implementing Seeding, Custom Conventions and Interceptors in EF Core 1.0
This post was written by Alina Popa, a software engineer on the .NET team. Updated 10/5/2016: This post has been updated to use improved Entity Framework Core techniques which don’t rely on internal APIs. Implementing Seeding, Custom Conventions and Interceptors in EF Core 1.0 Introduction Entity Framework Core (EF Core) is a lightweight and extensible version of the Entity Framework (EF) data access technology which is cross-platform and supports multiple database providers. You can find a comparison of EF Core vs. EF6 under the Entity Framework documentation. When moving an application from EF6 to EF C...
The week in .NET: On .NET on Orchard 2 – Mocking on Core – StoryTeller – Armello
To read last week's post, see The week in .NET: On .NET with Steeltoe – C# Functional Extensions – Firewatch. On .NET Last week, Sébastien Ros was on the show to talk about Orchard 2: This week, we'll speak with JB Evain about his work on the Visual Studio 2015 Tools for Unity, and maybe also Cecil. The show begins at 12PM Pacific Time (note that's 2 hours later than usual) on Channel 9. We'll take questions on Gitter, on the dotnet/home channel. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Mocking on .NET Core Three major .NET mocking frame...
Introducing .NET Standard
Questions? Check out the .NET Standard FAQ. You can find the latest version of the compatibility matrix here. In my last post, I talked about how we want to make porting to .NET Core easier. In this post, I'll focus on how we're making this plan a reality with .NET Standard. We'll cover which APIs we plan to include, how cross-framework compatibility will work, and what all of this means for .NET Core. If you're interested in details, this post is for you. But don't worry if you don't have time or you're not interested in details: you can just read the TL;DR section. For the impatient: TL;DR .NET Standard...
Secure ASP.NET ViewState
During an appearance on the .NET Rocks podcast last week, a question was raised about securely sending information through ASP.NET ViewState. I responded to the question by indicating that the typical security concern for web content is not to trust any content submitted from the web, including ViewState. After that podcast was published, several of my colleagues corrected me: in ASP.NET 4.5 the encryption of ViewState received a significant rewrite that addressed this issue and effectively makes ViewState very secure. Encrypted and MAC’d In older versions of ASP.NET, there was an option to “EnableViewStateMa...
Reusing Configuration Files in ASP.NET Core
Introduction The release of ASP.NET Core 1.0 has enticed existing ASP.NET customers to migrate their projects to this new platform. While working with a customer to move their assets to ASP.NET Core, we encountered an obstacle. Our customer had a many configuration files () they used regularly. They had hundreds of configuration files that would take time to transform into a format that could be consumed by the existing configuration providers. In this post, we'll show how to tackle this hurdle by utilizing ASP.NET Core's configuration extensibility model. We will write our own configuration provider to reuse th...
Announcing the DotNetCompilerPlatform 1.0.2 release
Update Microsoft.CodeDom.Providers.DotNetCompilerPlatform is now open sourced on GitHub. If you have any suggestion or issue, please go to this link and post your thought there. Today I'm pleased to announce that the Microsoft.CodeDom.Providers.DotNetCompilerPlatform 1.0.2 package is released on NuGet. It enables ASP.NET to support the new language features and improves the compilation performance. To install this NuGet package, open NuGet Package Manager in visual studio, search Microsoft.CodeDom.Providers.DotNetCompilerPlatform and click Install/Update button. What’s new in the new release ...
The week in .NET: On .NET with Steeltoe – C# Functional Extensions – Firewatch
To read last week's post, see The week in .NET: .NET Core 1.0.1 – On .NET with Peachpie – Avalonia – Folk Tale. On .NET Last week, we had David Morhovich and Zach Brown on the show to talk about Steeltoe: This week, we'll speak with Sébastien Ros about Orchard 2, the new version of the .NET CMS that can run on .NET Core. The show begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Package of the week: C# Functional Extensions C# functional extensio...
New experience for NuGet Documentation
Last month, we launched a preview of the revamped Nuget docs experience. We made a number of improvements: We would like to thank you for trying out the preview and giving us valuable feedback. We have incorporated your feedback and ironed out some wrinkles we found along the way. Today, we are going live with the new experience on docs.nuget.org. Will my existing references to documentation break? Existing references should still work. We have updated the old docs with permanent redirects which will redirect you to the new page. If you find a broken reference, please open an issue on our GitHub repo ...
GLAD is available
GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 GC ETW Events - Part 3 GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library (this post) End of last year I mentioned we wanted to provide an API for you to really investigate GC/managed memory related performance called GLAD. Well, the source finally got opened source on github. So GLAD is available. The repo is called PerfView but you actually just need the TraceEvent project (but it’s much easier to just build the whole solution then add the reference to the resulting Microsoft.Diagnostics.Traci...
Custom ASP.NET Core Middleware Example
One of the great things about ASP.NET Core is its extensibility. The behavior of an ASP.NET Core app's HTTP request handling pipeline can be easily customized by specifying different middleware components. This allows developers to plug in request handlers like MVC middleware, static file providers, authentication, error pages, or even their own custom middleware. In this article, I will walk you through how to create custom middleware to handle requests with simple SOAP payloads. A Disclaimer Hopefully this article provides a useful demonstration of creating custom middleware for ASP.NET Core in a real-world s...
Introducing IdentityServer4 for authentication and access control in ASP.NET Core
This is a guest post by Brock Allen and Dominick Baier. They are security consultants, speakers, and the authors of many popular open source security projects, including IdentityServer. Modern applications need modern identity. The protocols used for implementing features like authentication, single sign-on, API access control and federation are OpenID Connect and OAuth 2.0. IdentityServer is a popular open source framework for implementing authentication, single sign-on and API access control using ASP.NET. While IdentityServer3 has been around for quite a while, it was based on ASP.NET 4.x and Katana. For the...
The week in .NET: .NET Core 1.0.1 – On .NET with Peachpie – Avalonia – Folk Tale
To read last week's post, see The week in .NET – 9/7/2016. .NET Core 1.0.1 shipped! We shipped .NET Core 1.0.1 yesterday. Check out the announcement! On .NET Last week, we spoke with Benjamin Fistein and Jakub Míšek about Peachpie, a PHP compiler for .NET. We've had Ben and Jakub on the show before, and they came back to show us some of the new features they've built: .NET Core compatibility, debugging in VS Code, Docker deployment, and NuGet package building and consumption. This week, we'll speak about Steeltoe, a .NET toolkit for common microservice patterns. The show begins at 10AM Pacific Time on Chan...
Announcing September 2016 Updates for .NET Core 1.0
Today, we are releasing a set of reliability and quality updates for .NET Core 1.0. The quickest way to get the updates is to head over to dot.net/core and follow the updated install instructions for your operating system. You can download and install the update as an MSI for Windows, a PKG for macOS and updated zips and packages for Linux OSes. If you don't yet have .NET Core, you can start with this release. It contains everything you need to get started. We are calling this release .NET Core 1.0.1. It is the first .NET Core 1.0 Long Term Support (LTS) update. We recommend that everyone move to it immediately....
Announcing the ASP.NET Core September 2016 Patch Release
Today we are making available a patch release to the ASP.NET Core 1.0 release. This patch contains some updates to MVC, Routing, AntiForgery, Entity Framework Core, and the Kestrel server. Release notes and links to the issues that are addressed for these packages are available on GitHub. There are updated ASP.NET Core templates available as part of the “Microsoft .NET Core 1.0.1 – VS 2015 Tooling Preview 2” release in the Tools section on the .NET Downloads page. There are also several updates to the .NET Core framework, SDK, and Windows Server Hosting components that you will need to install in order to use...
Notes from the ASP.NET Community Standup – September 6, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 9/7/2016
To read last week's post, see The week in .NET – 8/30/2016. On .NET Last week, Ayende Rahien was on the show to talk about RavenDB and .NET: This week, we'll speak with Benjamin Fistein and Jakub Míšek from Peachpie to get an update on their PHP compiler for .NET, which now works on .NET Core and Docker, and can consumer NuGet packages. The show begins at 10AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Tool of the week: Shaderlab VS Shaders are extremely...
Notes from the ASP.NET Community Standup – August 30, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the reco...
Announcing the ongoing Bug Bounty for .NET Core and ASP.NET Core
It's with a great deal of pleasure that I can announce an on-going bug bounty for .NET Core and ASP.NET Core, our cross platform runtime and web stack. During the RC1 and RC2 bounty periods we received quite a few interesting, intriguing and even puzzling bugs which we've addressed. The RC 1 bounty included one report which prompted an entire rewrite of a feature to make it easier for developers to use successfully. Nothing makes me happier than being able to reward and recognize security researchers for their hard work in discovering and reporting these bugs and I look forward to continuing working with and co...
The week in .NET – 8/30/2016
To read last week's post, see The week in .NET – 8/23/2016. On .NET Last week, Phillip Carter was on the show and gave some pretty neat intro-level F# demos. This week, we'll talk to Ayende Rahien from Hibernating Rhinos, about RavenDB and .NET. The show begins at 11AM Pacific Time on Channel 9. We'll take questions on Gitter, on the dotnet/home channel. Please use the tag. It's OK to start sending us questions in advance if you can't do it live during the show. Package of the week: F# Data The F# Data library takes full advantage of F# type providers to help you read data from various providers such as C...
Changes to Expiring API Keys
In June, we published a blog post announcing Expiring API Keys. We received a lot of great feedback from the community about it. In retrospect, we did not do a great job explaining the motivation and reasoning for this security measure to the community. This post goes into more detail about why we introduced Expiring API Keys, the immediate changes we are making to the design to address feedback, and improvements to our process to prevent a similar situation from happening in the future. Your Feedback Let’s start with a summary of the most consistent feedback we heard from the initial plan: Thanks fo...
What’s New in C# 7.0
Update (4/2017): See New Features in C# 7.0, the update to this post. What follows is a description of all the planned language features in C# 7.0. With the release of Visual Studio "15" Preview 4, most of these features are coming alive. Now is a great time to take them for a spin and tell us your thoughts! C# 7.0 adds a number of new features and brings a focus on data consumption, code simplification and performance. Perhaps the biggest features are tuples, which make it easy to have multiple results, and pattern matching which simplifies code that is conditional on the shape of data. But there a...
The week in .NET – 8/23/2016
To read last week's post, see The week in .NET – 8/16/2016. On .NET Last week, we moved into our new studios with Channel 9, where JB Evain joined me to interview Lucas Meijer from Unity. We had our fair share of technical hiccups, but Lucas gave some great demos: This week, we'll bump up the lights a bit, and I won't forget my power supply (promise). We'll have Phillip Carter on the show, to give an intro to F#. Join us at 10AM Pacific Time on Thursday, on Channel 9. Tool of the week: I can has .NET Core Another extremely useful web tool by the people behind Octopus Deploy, "I can has .NET Core" explores ...
The path towards better documentation
Update 9/20 (11:00 A.M PST): The revamped NuGet Docs experience is now live on docs.nuget.org. Read more about it here - New experience for NuGet Documentation docs.nuget.org is the authoritative guide on everything NuGet. It is used as reference by nearly 180k developers with over 500k page views a month. Summary of the most consistent feedback we heard is given below: In this post, we are going to talk about the changes we recently made based on your feedback, and plans going forward. Before diving into details, we would like to thank a number of people who have helped us review and give feedback on t...
PowerShell is now open-source, and cross-platform
The PowerShell team made a few announcements today: it's going open-source, and it's now available on Windows, Mac, and Linux. This is excellent news in itself, but the .NET team wanted to take the time to analyze what this means for .NET developers. First, the availability of PowerShell on Linux and macOS, while it doesn't aim at replacing the native shell experiences of those operating systems, will make collaboration easier in teams with mixed environments. Being able to run the same scripts on each OS without having to spin up virtual machines will facilitate development and reduce friction across developers ...
Notes from the ASP.NET Community Standup- August 16th
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes ...
The week in .NET – 8/16/2016
To read last week's post, see The week in .NET – 8/9/2016. On .NET Last week, we had Pablo Santos and Francisco Monteverde to talk about PlasticSCM, a version control system with interesting features such as semantic merge and digital asset management. If you think version control is done and that Git is the end of it, you should check out the video, and prepare to be surprised: This week, we'll have Lucas Meijer from Unity 3D. Package of the week: Orleans Orleans is a framework that provides a straightforward approach to building distributed high-scale computing applications, without the need to learn and...
Introducing the .NET Framework Monthly Rollup
We are making an important change to .NET Framework updates to align with the Windows Monthly Rollup, also announced today. Beginning October 2016, you will be able to install a new update release called the .NET Framework Monthly Rollup. The rollup will update the .NET Framework with the latest security and quality improvements. The .NET Framework Monthly Rollup is a single install that updates each supported .NET Framework version on a machine to its latest respective update level. Each Monthly Rollup supersedes the last one, so if you've missed the last few months of updates, you only need to install the late...
Announcing NuGet 3.5 RC
NuGet 3.5 Beta 2 for Visual Studio 2015, nuget.exe and NuGet 2.12 RTM for Visual Studio 2013 releases provide quality improvements, performance improvements, .NET Core CLI support, and new target frameworks like netstandard and netcoreapp for our users. Downloads All NuGet downloads are available on http://nuget.org/downloads. New Features Support for new Target Frameworks .NET Standard and Net Core App TFM support is now available for Visual Studio 2012 users via the 2.12 release. 3.5 Beta 2 also now supports netstandard1.6 TFM for Visual Studio 2015 users. .NET Standard provides a more concrete g...
Notes from the ASP.NET Community Standup – August 9, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 8/9/2016
To read last week's post, see The week in .NET – 8/2/2016. On .NET Last week on the show, we had Frank Krueger to talk about his amazing Continuous C# and F# IDE for the iPad. This week, we'll speak with Francisco Monteverde about PlasticSCM. Package of the week: OxyPlot OxyPlot is an open source and cross-platform plotting library. Here's how you'd plot the function in a Universal Windows application: Tool of the week: .NET API Catalog .NET API Catalog is a new tool that makes it easy to explore .NET APIs and figure out what support exists for each API on each version of .NET: .NET Frame...
Notes from the ASP.NET Community Standup – July 26, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
Announcing .NET Framework 4.6.2
Updated (4/2017): See .NET Framework Releases for newer releases. Today we are excited to announce the availability of the .NET Framework 4.6.2! Many of the changes are based on your feedback, including those submitted on UserVoice and Connect. Thanks for your continued help and engagement! The release is packed with lots of great improvements in the following areas: You can see the full set of changes in the .NET Framework 4.6.2 change list and API diff. Download Now You can download the .NET Framework 4.6.2 now: Base Class Library (BCL) The following im...
The week in .NET – 8/2/2016
To read last week's post, see The week in .NET – 7/26/2016. On .NET We had no show last week, and the guest for this week is still to be determined. Please check the On .NET channel on YouTube for updates. Package of the week: AForge.NET AForge.NET is an open source C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, fuzzy logic, machine learning, robotics, etc. Here's the code for simple motion detection from a video feed: .NET Core App of the week: Emitter.io Emitter.io is a fa...
Entity Framework Core 1.1 Plans
Now that Entity Framework Core (EF Core) 1.0 is released, our team is beginning work on bug fixes and new features for the 1.1 release. Keep in mind that it's early days for this release, we're sharing our plans in order to be open, but there is a high chance things will evolve as we go. High level goals Our goal with 1.1 release is to make progress on the items that are blocking folks from using EF Core. Timeframe EF Core 1.1 is scheduled for Q4 2016 / Q1 2017. We'll have a more exact date as we get closer to the release and decide where to draw the line on features to be included. What features are we w...
.NET Support and Versioning
This post was written by Lee Coward. We’ve travelled many new roads in the process of releasing .NET Core 1.0, ASP.NET Core 1.0 and Entity Framework Core 1.0. Developing the projects in the open and delivering to Mac and Linux have been exciting experiences and the feedback we continue to receive shows that the excitement is shared by many. Getting 1.0 to you is only the beginning. This post will introduce the ways in which we will be releasing updates for the .NET Core family. Taking care of the inevitable things that don’t work quite right, delivering updates, continuing to innovate and providing a rock solid ...
Notes from the ASP.NET Community Standup – July 19, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 7/26/2016
To read last week's post, see The week in .NET – 7/19/2016. On .NET Last week, we had Rowan Miller on the show to talk about Entity Framework. This week's show has been canceled and is anticipated to return next week. Package of the week: OpenPop.NET OpenPop.NET is an open source implementation of a POP3 client and a robust MIME parser written in C#. It gives developers access to email on a POP3 server in a matter of minutes. The following is an example on how to download all email from a server: Xamarin App of the week: Continuous .NET C# and F# IDE Build C# and F# applications on your iPad with ...
A Peek into F# 4.1
Later this year, we're going to ship a new version of Microsoft's tools for F#. This will include support for F# 4.1, featuring important incremental improvements to the language that have been developed in conjunction with F# users and contributors. Our tools will also include a cross-platform, open-source F# 4.1 compiler toolchain for .NET Framework and .NET Core, suitable for use on Linux, macOS/OS X, and Windows. We are also updating the Visual F# IDE Tools for use with the next version of Visual Studio. The Visual F# Tools for F# 4.1 will be updated to include support for editing and compiling .NET Core a...
The week in .NET – 7/19/2016
To read the last post, see The week in .NET – 7/12/2016. On .NET Last week's show was postponed and will be rescheduled at a later date. This week, we will have Rowan Miller on the show to talk about EF Core. Package of the week: ImageResizer ImageResizer is an IIS/ASP.NET lightweight HTTPModule, REST API and managed API that is used for safe and highly-optimized server-side image processing. Below is an example on how to convert and resize images as they are being uploaded: Game of the week: Tumblestone Tumblestone is a fast paced action-puzzle game where players can battle their friends in multipla...
.NET Core Roadmap
This post was written by Scott Hunter. It has been about two weeks since we shipped .NET Core / ASP.NET Core 1.0. The team has used the past two weeks to take a deep breath, and is now getting started on planning what is coming next. We have seen a lot of .NET Core SDK downloads and significant feedback. Please keep the feedback coming. Here is a rough timeline of how things might look going forward. Note that these are the targeted dates that the team are currently working towards but may change. 1.0.1 (~August 2016) We are actively monitoring the 1.0 release for issues to include in a first patch (1.0.1) rele...
Notes from the ASP.NET Community Standup – July 12, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
Visual Studio ‘15’ Preview 3 for C# and Visual Basic
One of our major focuses in Visual Studio ‘15' is improving developer productivity inside the editor. As we develop, we all perform series of actions over and over again--like writing methods, renaming variables, changing method signatures, implementing interfaces, etc. Our goal is to help automate or reduce these tasks to a single click so that you can focus on logic rather than syntax, references, style, and formatting. You may have noticed each Visual Studio ‘15’ release enhances existing experiences to save you a little more time and effort and enables you to build faster with additional refactorings and code...
Notes from the ASP.NET Community Standup – July 5, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 7/12/2016
To read the last post, see The week in .NET – 6/28/2016. On .NET Last week, we had Mukul Sabharwal on the show to talk about .NET Core usage at Bing. This week, we'll have Lucas Meijer from Unity Technologies on the show. Package of the week: LinqToTwitter LINQ to Twitter is an open source library that enables querying Twitter using standard LINQ syntax. Here's an example of a query that returns search results where people are tweeting about LINQ to Twitter: Game of the week: Assault Android Cactus Assault Android Cactus is a fast paced arcade style twin stick shooter. In Assault Android Cactus, p...
Working through things on other OSs
We just shipped CoreCLR 1.0. That was a significant milestone for us – now we officially run on non Windows OSs and that’s very exciting. Folks who told me that they really missed using C# or wanted to use C# but couldn’t because they were not using Windows can now do so. Yay! For GC it would seem like there shouldn’t’ve been much work to get it to run on non Windows because if you look at the GC code, it looks pretty portable – we don’t use any fancy language features in GC (I like this aspect a lot and will keep it that way); there’s a bunch of arithmetic operations on simple types, some locks (mostly impleme...
Notes from the ASP.NET Community Standup – June 28th 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the rec...
The week in .NET – 6/28/2016
To read last week's post, see The week in .NET – 6/21/2016. We shipped! We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and Entity Framework Core 1.0, available on Windows, OS X and Linux! .NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications. This release includes the .NET Core runtime, libraries, and tools as well as the ASP.NET Core libraries. We are also releasing Visual Studio and Visual Studio Code extensions that enable you to create .NET Core projects. You can get started at https...
Announcing .NET Core 1.0
Updated (2017): See .NET Core Releases to learn about newer releases. We are excited to announce the release of .NET Core 1.0, ASP.NET Core 1.0 and Entity Framework Core 1.0, available on Windows, OS X and Linux! .NET Core is a cross-platform, open source, and modular .NET platform for creating modern web apps, microservices, libraries and console applications. This release includes the .NET Core runtime, libraries and tools and the ASP.NET Core libraries. We are also releasing Visual Studio and Visual Studio Code extensions that enable you to create .NET Core projects. You can get started at https://dot.ne...
Announcing ASP.NET Core 1.0
The first version of ASP.NET 1.0 came out almost 14 years ago. Since then many developers have used it to build and run great web applications, and over the years we have added and evolved many, many capabilities to it. Today we are excited to announce the release of ASP.NET Core 1.0! This new release is one of the most significant architectural updates we've done to ASP.NET. As part of this release we are making ASP.NET leaner, more modular, cross-platform, and cloud optimized. ASP.NET Core is now available, and you can start using it today by downloading it here. ASP.NET Core is an open source web frame...
Announcing Entity Framework Core 1.0
Entity Framework Core (EF Core) is a lightweight, extensible, and cross-platform version of Entity Framework. Today we are making Entity Framework Core 1.0.0 available. This coincides with the release of .NET Core and ASP.NET Core. Upgrading from RC2 to RTM If you are upgrading an application from RC2 to RTM, be sure to read our Upgrading from RC2 to RTM article. When to use EF Core We now have a Comparing EF Core and EF6.x section in our documentation. It includes guidance on when to use EF Core, feature comparisons, and information on porting to EF Core. These are the types of applications we would recommend u...
WCF Connected Service for .NET Core 1.0 and ASP.NET Core 1.0 is now available
.Net Core 1.0 and ASP.NET Core 1.0 are finally here, and with them we are pleased to announce an updated version of the WCF Connected Service - Preview compatible with these products. This is a Visual Studio extension for generating SOAP service references for clients built on top of WCF for .NET Core 1.0. This update replaces all previews releases of the extension and it comes with some UI improvements, like visual warnings when a form page in the configuration wizard needs user attention, in addition to several bug fixes. It is still in preview mode as the foundational Visual Studio tooling components are no...
Notes from the ASP.NET Community Standup – June 21, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
NuGet API key expiration
Update 6/22 (2:15 P.M PST): We have a lot of feedback coming in from the community on this topic. This change will not have any impact for another 90 days at the minimum. We are reviewing your feedback and will discuss further how to achieve our goal of improved security of NuGet.org. We will have an update within the next 45 days. To continue the dicussion, we have openend a new GitHub issue here. EDIT - Updates on this feature is available here - Changes to Expiring API Keys NuGet.org is growing blazingly fast. The past couple of years have seen a tremendous growth in the usage of packages from the NuGet gal...
The week in .NET – 6/21/2016
To read last week's post, see The week in .NET – 6/14/2016. On .NET Last week, we spoke with Pratap Lakshman about MS Test, and about running tests for .NET Core in general. This week, we'll speak with Jeremy Kuhne about long path support. Package of the week: Stuntman Testing and debugging user-specific scenarios can be cumbersome. Switching between users in a test environment should be fast and easy. Stuntman is a library for impersonating users during development that leverages .NET Claims Identity. Control of the week: Telerik DataForm for Xamarin The Telerik DataForm for Xamarin control enables the creatio...
Notes from the ASP.NET Community Standup – June 14, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 6/14/2016
To read last week's post, see The week in .NET – 06/07/2016. On .NET Last week, we spoke with Daniel Egloff from QuantAlea about their very cool GPU technology that enables C# and F# code to be compiled for modern GPUs, thus unlocking massively parallel computations with performance that is out of reach of regular CPUs. This week, we speak with Pratap Lakshman about MS Test. Package of the week: ELMAH ELMAH (Error Logging Modules and Handlers) is an application-wide error logging facility that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web appli...
A Peek into .NET Open Source Contributions
During the dotNetConf virtual conference, Scott Hanselman shared a map and some charts that were constructed based on participation in Microsoft owned GitHub repositories. In the comments and social media since, we have heard your questions and we would like to provide some additional information about the data and some additional images. Method We wanted to answer the question: "Is Open Source .NET receiving contributions from the community?" Fortunately, all of the .NET source we wanted to measure was located in GitHub and accessible with the amazing Octokit.NET library. Yes, this is the same tool that Jasmi...
Thank you for watching dotnetConf 2016!
dotnetConf 2016 is a wrap! Thank you to all who tuned in live on Channel 9, asked questions, and participated in our twitter feed. We had a lot of awesome sessions from various product teams and community experts that showed us all sorts of cool things we can build with .NET across platforms and devices. There’s never been a better time to be a .NET developer! Watch all the sessions on demand on Channel 9. Here’s a recap of the big announcements we made: And here’s the list of sessions so you can jump right in! Attend a dotnetConf.local event But wai...
Notes from the ASP.NET Community Standup – June 2, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 06/07/2016
To read last week's post, see The week in .NET – 5/31/2016. DotNetConf 7-9 June Are you ready to rediscover .NET? Well, dotnetConf is back! Immerse yourself in the world of .NET and join our live stream for 3 days of free online content June 7 - 9 featuring speakers from the .NET Community and Microsoft product teams. Watch and ask questions after each session for a live Q&A. The live stream will be broadcasted on Channel9. There's never been a better time to be a .NET developer. Learn to develop for web, mobile, desktop, games, services, libraries and more for a variety of platforms and devices a...
Announcing a new .NET and ASP.NET Core Bug Bounty
Now that you're all updated to RC2 I am pleased to announce a further 3 month bug bounty program for .NET Core and ASP.NET Core, our cross platform runtime and web stack. The program encompasses the RC2 and, should its release fall within the 3 months programme period, the RTM version. The bounty will run from 7th June 2016 till 7th September 2016. During the RC1 bug bounty we received quite a few interesting bugs which we’d addressed, including one which prompted an entire rewrite of a feature to make it easier for developers to use successfully. It’s been a great source of pleasure for me to to reward and reco...
The week in .NET – 5/31/2016
To read last week's post, see The week in .NET – 5/24/2016. DotNetConf 7-9 June Are you ready to rediscover .NET? Well, dotnetConf is back! Immerse yourself in the world of .NET and join our live stream for 3 days of free online content June 7 - 9 featuring speakers from the .NET Community and Microsoft product teams. Watch and ask questions after each session for a live Q&A. The live stream will be broadcasted on Channel9. There's never been a better time to be a .NET developer. Learn to develop for web, mobile, desktop, games, services, libraries and more for a variety of platforms and devices a...
Large Object Heap Uncovered (an old MSDN article)
I wrote this article in 2008 and the MSDN website no longer has it so I am making it available here. Please note that it has been quite a while and some things related to LOH have changed quite a bit. See the GC ETW blog entries I wrote for the current tooling options. Also note that obviously some of the links mentioned in this article may no longer exist. The .NET Garbage Collector divides objects up into small and large objects. When an object is large some attributes associated with it become more significant than if the object is small. For instance, compacting it, meaning copying the memory elsewhere on th...
Tuple Tuesday!
One of the central features we're trying to add to both VB and C# in the near future is tuples. If you've never heard of a tuple it's a primitive data structure for combining values together that many other programming languages have supported for years, including .NET's F#, but has been suspiciously absent from Visual Basic. A tuple is vaguely like an array in that it's a data structure that bundles up multiple values together as a unit, except whereas in an array each element of the array has the same type, in a tuple every element may have a different type. So, for example, if I found in my program that I was ...
Making it easier to port to .NET Core
In my last post, I talked about porting to .NET Core and requested feedback from our community on what their experience was and what we could improve. This sparked many great conversations with our users. Based on these conversations as well as our experience working with first- and third-party partners, we've decided to drastically simplify the porting effort by unifying the core APIs with other .NET platforms, specifically the .NET Framework and Mono/Xamarin. In this blog post, I'll talk about our plans, how and when this work will happen, and what this means for existing .NET Core customers. Reflecting on ...
Announcing WCF Connected Service for .NET Core RC2 and ASP.NET Core RC2
With the availability of .Net Core RC2 and ASP.NET Core RC2 we are pleased to announce an update to the WCF Connected Service Preview for ASP.NET 5 Visual Studio extension tool for generating SOAP service references for clients built on top of WCF for .NET Core RC2. This update brings some improvements to the user experience when navigating through the Connected Service wizard UI and the ability to reuse types defined in the project to which a service reference is being added to and from the project’s references, in addition to several bug fixes. How to Install the extension The WCF Connected Service extension ...
The week in .NET – 5/24/2016
To read last week's post, see The week in .NET – 5/16/2016. On.NET Last week on the show, we had Miguel de Icaza: This week, we'll speak with Maoni Stephens, who works on .NET's GC. Package of the week: Math.NET Symbolics Math.NET is an impressive project. We've covered Math.NET's numeric package before. Today, we're looking at its symbolic package, that deals with the manipulation of symbolic mathematical expressions. With it, you can parse, format, and evaluate expressions, but also develop them, simplify them, differentiate them, etc. Here's an example that uses symbolic differentiation to build the ...
Job support in the GC
I've noticed that more and more of our customers started to use job objects to restrict some form of resources for their processes such as CPU and memory. So I wanted to talk about the kind of support the GC offers to help with your managed processes running in a job object. The first thing to notice is that a managed process actually just gets the benefits of a job object without GC doing anything since, well, your process just looks like a normal process to the OS. So without doing anything special in the GC, you already get the following benefits: However, there's one scenario that's not covered. GC bec...
Changes to Project.json
This post was written by Scott Hunter. Last week we announced the schedule for RC2 / RTM of .NET Core and ASP.NET. Now that we have shipped RC2 I want to give more details on the .NET Core tooling moving from .xproj / project.json to .csproj / MSBuild. MSBuild When the ASP.NET team started building ASP.NET 5 (now ASP.NET Core) one of the key goals was to design it so it was very easy to create and develop on Windows, Mac and Linux. This led to the creation of the .xproj/project.json based project system. Some of the key features were: As we continued to the project we kept expanding the role of .NET Core: ...
On.NET show
So apparently CLR has this show on YouTube called On.NET which I was not aware of till yesterday. In any case, I have been invited on the show for the next episode which is 10am-11am next Thursday (05/26). This is streaming on YouTube so you can ask questions during the air time. So if you do have questions for me, you could ask them during that time. [Edit] The video is here.
Happy 25th Birthday, VB!
That’s right! Today marks the 25th (“Silver Anniversary”) since VB first debuted to the world. It seems like just yesterday I’d only been at Microsoft a little over a year when VB turned 20. Looking back at the progress of 5 years—a complete revamp of the IDE and debugger, a trove of new language features, and millions of lines of code—I’m humbled. And that’s just coming from the Roslyn team. But I’m even more humbled looking back at a history FIVE times longer than that with hundreds of innovative productivity features spanning 14 releases and scores of team members. So much history could hardly be given justi...
Consolidated REST API deployed
A few weeks back, we deployed our consolidated REST API powering NuGet.org and the NuGet client experience in Visual Studio. An invisible change for our users, but a big change for the NuGet team. This consolidated REST API lays the foundation of our future work on the server side of NuGet. In this post, we want to expand a little on the history of the NuGet services and why it matters for us. History of our internal REST API Historically, NuGet.org used to serve all requests for packages directly from our database. With the number of NuGet users increasing, the number of queries on our database also increased....
The week in .NET – 5/16/2016
To read last week's post, see The week in .NET – 5/10/2016. We shipped! Yesterday, we released ASP.NET Core RC2, .NET Core RC2, and the preview 1 of the associated SDK. We also released Entity Framework Core RC2. We also have a new .NET web site that you can reach using the simple dot.net URL. On.NET Last week on the show, we talked about what we shipped yesterday: This week, our very first guest on the show, Miguel de Icaza, is coming back. Tool of the week: Web Accessibility Checker It's not always easy to keep track of the accessibility of our web sites. Wouldn't it be nice if our...
Releasing F# Language Documentation as Open-Source
Guest post by Den Delimarsky, Program Manager, Butt & Enterprise Continuing our efforts to make our documentation more flexible and open, we are releasing the F# language documentation as open-source. This means that starting today you can both easily download the most up-to-date documents for offline consumption, as well as contribute to sections that you feel require work. All pages within this documentation set are licensed under the Creative Commons - Attribution-NonCommercial 3.0 Unported. What changed? Here is a list of things that changed that you should be aware of. While we are still working on impr...
Announcing Entity Framework Core RC2
Entity Framework (EF) Core is a lightweight, extensible, and cross-platform version of Entity Framework. Today we are making Entity Framework Core RC2 available. This coincides with the release of .NET Core RC2 and ASP.NET Core RC2. EF Core, formerly known as EF7 Between RC1 and RC2, we changed from Entity Framework 7 to Entity Framework Core 1.0. This naming helps convey that EF Core is a new code base that does not inherit all the features and API surface of EF6.x. You can read more about the reasons for the change in this post by Scott Hanselman. Upgrading from RC1 to RC2 There are a number of changes in RC2 t...
Announcing Entity Framework Core RC2
Entity Framework (EF) Core is a lightweight, extensible, and cross-platform version of Entity Framework. Today we are making Entity Framework Core RC2 available. This coincides with the release of .NET Core RC2 and ASP.NET Core RC2. EF Core, formerly known as EF7 Between RC1 and RC2, we changed from Entity Framework 7 to Entity Framework Core 1.0. This naming helps convey that EF Core is a new code base that does not inherit all the features and API surface of EF6.x. You can read more about the reasons for the change in this post by Scott Hanselman. Upgrading from RC1 to RC2 There are a number of changes in RC2 t...
Announcing .NET Core RC2 and .NET Core SDK Preview 1
Updated (2017): See .NET Core Releases to learn about newer releases. This release is not supported. Today, we are announcing the release of .NET Core RC2. You can use it to build ASP.NET Core, console apps and class libraries for Windows, OS X and Linux. RC2 is a major update from the November RC1 release, including new APIs, performance and reliability improvements and a new set of tools. You can install .NET Core SDK 1.0 Preview 1 now (including .NET Core RC2), on Windows, OS X and Linux. You can also use it with Docker. You can use .NET Core RC2 with a variety of editors and IDEs: Coming soon: ...
Announcing .NET Core RC2 and .NET Core SDK Preview 1
Updated (2017): See .NET Core Releases to learn about newer releases. This release is not supported. Today, we are announcing the release of .NET Core RC2. You can use it to build ASP.NET Core, console apps and class libraries for Windows, OS X and Linux. RC2 is a major update from the November RC1 release, including new APIs, performance and reliability improvements and a new set of tools. You can install .NET Core SDK 1.0 Preview 1 now (including .NET Core RC2), on Windows, OS X and Linux. You can also use it with Docker. You can use .NET Core RC2 with a variety of editors and IDEs: Coming soon: ...
Announcing ASP.NET Core RC2
Edit: ASP.NET Core RC2 is now available for use with Azure Web Applications We are very pleased to announce the availability of ASP.NET Core RC2. This release succeeds the ASP.NET 5 RC1 release and features a number of updates to enhance compatibility with other .NET frameworks and an improved runtime. You can install the RC2 from http://dot.net. What happened to ASP.NET 5? This release features the rebranding of ASP.NET 5 to ASP.NET Core. This renaming was made in order to clarify that this is a new framework built from the ground up and not a revision of the existing ASP.NET frameworks. More details can...
Notes from the ASP.NET Community Standup – May 10, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 5/10/2016
To read last week's post, see The week in .NET – 5/3/2016. On.NET Last week in On .NET, we had the pleasure to speak with Andy De George about SadConsole, his text-based gaming engine. This week's guest is still TBD. Post of the week: Stack Overflow - How we do deployment This week, I want to do something exceptional for an exceptional post: extract it from the list to make sure that nobody misses it. Nick Craver, from Stack Overflow, wrote a very detailed post on how they do deployments. There's something to learn for everyone in there, and I highly recommend you check it out and take the time to read the whole ...
The 1st Billion
Today, NuGet.org reached one billion downloads. This is a momentous achievement for our users and the community of package authors who continue to use and build new libraries that is the cornerstone of .NET adoption. We want to take this opportunity to give a huge thank you to the millions of our users who made this milestone possible. With the advent of .NET Core, ASP.NET Core, Universal Windows Apps, open sourcing of the Xamarin Platform, and the accelerated use of NuGet, we believe we will hit the next 1 billion in a year or so. Journey to 1 Billion NuGet started out as the NuPack project which was then rena...
Introducing the IIS Administration API
The IIS team has been working on a new RESTful API to manage your IIS configuration. While still under development, the team was eager to share a preview of the new API. The API allows configuration of IIS resources such as authorization rules, modules, and applications. The API has been built with Hypertext Application Language (HAL) to allows APIs to have built-in discoverability. Starting at the root of the API, you can browse the entire API surface. In addition to the API, the IIS team has also built an API explorer that makes it easy to browse the entire API surface. Head on over to https://jimm...
Notes from the ASP.NET Community Standup – May 3, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
.NET Core RC2 – Improvements, Schedule, and Roadmap
Updated (2017): See .NET Core Releases to learn about newer releases. This post was written by Scott Hunter. You all want .NET Core 1.0 RC2, you want a schedule, and you want to go live. Today we've got a schedule to share plus some changes that will improve things for everyone in the .NET Community going forward. The Core Schedule How We Got Here The ASP.NET team started two and a half years ago, building a new version of ASP.NET that was modular, cross platform, and high-performance. This new version of ASP.NET was built on a new .NET Execution Environment (DNX) that was optimized for modern cl...
.NET Core RC2 – Improvements, Schedule, and Roadmap
Updated (2017): See .NET Core Releases to learn about newer releases. This post was written by Scott Hunter. You all want .NET Core 1.0 RC2, you want a schedule, and you want to go live. Today we've got a schedule to share plus some changes that will improve things for everyone in the .NET Community going forward. The Core Schedule How We Got Here The ASP.NET team started two and a half years ago, building a new version of ASP.NET that was modular, cross platform, and high-performance. This new version of ASP.NET was built on a new .NET Execution Environment (DNX) that was optimized for modern cl...
Tooling to Facilitate Framework Migrations
This post was written by Mike Rousos, a software engineer on the .NET team. Introduction In this recent post, Taylor introduced the .NET Framework Compatibility Diagnostics, a set of Roslyn-based code analyzers for detecting when an app is likely to encounter compatibility issues between two versions of the .NET Framework. This article gives a little behind-the-scenes look into why we chose to use Roslyn for those tools and the benefits Roslyn gives compared to just walking IL. Binary Scanning, False Positives, and False Negatives The .NET Framework Compatibility Diagnostics library is the second tool recently re...
The week in .NET – 5/3/2016
To read last week's post, see The week in .NET – 4/27/2016. Evolve conference Xamarin Evolve, the largest cross-platform mobile event in the world, happened last week. The .NET team was there to celebrate all things Xamarin with our good friends, and now colleagues. All the sessions can be watched on YouTube, with an incredible cast of speakers that includes Steve Wozniak and Grant Imahara. On.NET Last week on the show, we spoke with Benjamin Fistein and Jakub Míšek about Peachpie, a PHP compiler for .NET built on Roslyn. Package of the week: Flurl Flurl is a fun library that makes it super-easy to query remote H...
The week in .NET – 5/3/2016
To read last week's post, see The week in .NET – 4/27/2016. Evolve conference Xamarin Evolve, the largest cross-platform mobile event in the world, happened last week. The .NET team was there to celebrate all things Xamarin with our good friends, and now colleagues. All the sessions can be watched on YouTube, with an incredible cast of speakers that includes Steve Wozniak and Grant Imahara. On.NET Last week on the show, we spoke with Benjamin Fistein and Jakub Míšek about Peachpie, a PHP compiler for .NET built on Roslyn. Package of the week: Flurl Flurl is a fun library that makes it super-easy to query re...
Introduction to .NET Framework Compatibility
This post was written by Mike Rousos, a software engineer on the .NET team. Introduction Beginning with the .NET Framework 4.0, all versions of the .NET Framework with a major version number of 4 (called ‘4.x’ versions) install as in-place updates. This means that only one 4.x .NET Framework is installed on a computer at a time. Installing the .NET Framework 4.5 will replace version 4.0, the .NET Framework 4.5.1 will replace version 4.5, the .NET Framework 4.6 will replace version 4.5.1, and so on. Because of the in-place nature of these updates, applications that originally ran on the .NET Framework 4.0, for exa...
Building accessible websites just got a lot easier
When building websites it is important that it is accessible for everyone that needs to use it. Implementing web accessibility features greatly helps to achieve that. Here’s what the W3C has to say about that: Web accessibility means that people with disabilities can use the Web. More specifically, Web accessibility means that people with disabilities can perceive, understand, navigate, and interact with the Web, and that they can contribute to the Web. Web accessibility also benefits others, including older people with changing abilities due to aging. The W3C continues to explain why it is important: The Web is ...
Introducing The NuGet Beta Channel
Today, we would like to introduce you to the NuGet Beta Channel for the Visual Studio 2015 NuGet Package Manager. In the last 2 months, we have been focusing on improving the quality of the package management experience in Visual Studio 2015 and we have released over 3 consecutive versions of the package manager with added features, improved quality and performance. We want to able to accelerate this cadence and make sure that our customers are able to access new features and bug fixes faster. We have been trying to accelerate our releases, but we realized that even when we share beta bits, it takes too much ef...
WebForms can Gulp too – Using Node Tools with ASP.NET WebForms
Visual Studio 2015 brought a set of tools into the IDE from the Node environment that are great for web developers to use. Many folks who build JavaScript applications or single-page-applications were eager to see the introduction of these tools to Visual Studio. Can the tried and true ASP.NET Web Forms framework use Gulp, npm, bower, and the Task Runner Explorer? In this blog post, we'll take a look at how we can replace the 'out of the box' use of the Script Manager in a Web Forms app with these node-based tools. Why Not Use ScriptBundles? ScriptBundles and StyleBundles are a great tool that allow you to c...
Notes from the ASP.NET Community Standup – April 26, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 4/27/2016
To read last week's post, see The week in .NET – 4/19/2016. Xamarin Evolve Tomorrow, April 27th, the Xamarin Evolve conference keynote will be streamed live at 9AM EST. Watch it here: https://evolve.xamarin.com/live. On.NET Last week on the show, we had Burke Holland and Sam Basu from Telerik. This week, we'll speak with Benjamin Fistein and Jakub Míšek about Peachpie, a PHP compiler built with Roslyn to target .NET. Package of the week: Live-Charts for WinForms and WPF Live-Charts is a fun charting library that is fast enough that it can update charts automatically from user actions and data changes. It'...
Announcing NuGet 3.4.3
Today, we are releasing the 3.4.3 RTM version of the NuGet Visual Studio 2015 extension and the Windows x86 commandline executable. We continue to heavily invest in improving the quality of NuGet scenarios in Visual Studio and commandline. The complete list of issues fixed in this version is available on GitHub. In this post, we will review the important changes in 3.4.3 release. You can download the latest 3.4.3 RTM VS extension and Windows x86 Commandline from here. Changes Our release notes for 3.4.3 and the issues list in GitHub, goes into more details around the changes in this release. What's Ne...
Notes from the ASP.NET Community Standup – April 19, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 4/19/2016
To read last week's post, see The week in .NET – 4/12/2016. On.NET Last week on the show, we looked at what PlayFab is doing to help game developers take advantage of the cloud. This week, we'll be speaking with Telerik. Package of the week: NUglify NUglify is a library that can minify JavaScript and CSS. It has no dependencies, and can run on .NET Core. Xamarin app of the week: Cinemark Cinemark is a leading theater chain in North America, with $2.7 billion in revenue and 5,600 screens. Disappointed by the hybrid app development frameworks Appcelerator and Sencha Touch, Cinemark chose a native path wit...
Introducing the Microsoft .NET Framework Repair Tool Version 1.3
This post was written by Rakesh Ranjan Singh, Senior Software Engineer on the .NET Setup team. We are happy to announce the latest version of the .NET Framework Repair Tool that supports all versions of the .NET Framework from 3.5 SP1 to 4.6.1. This version of the tool adds support for .NET Framework 4.5.2, 4.6 and 4.6.1. The .NET Setup team has made some significant investments over the last couple of years in improving the deployment experience for the .NET Framework setup and its updates. Occasionally, some customers will run into issues with deploying the .NET Framework or its updates that cannot be fixed...
On .NET – 4/14/2016 – PlayFab
We're back this week with a new episode with PlayFab to talk about how the cloud can help make awesome games. PlayFab is going to be present at a few conferences over the next couple of months: Mobile Dev + Test: https://mobiledevtest.techwell.com/program/concurrent-sessions/can-your-mobile-infrastructure-survive-million-concurrent-users STAREAST: https://stareast.techwell.com/program/concurrent-sessions/continuous-integration-new-way-life STAREAST: https://stareast.techwell.com/program/women-who-test/when-youre-lone-female-voice-reason Better Software West: https://bscwest.techwell.com/program/concurre...
What’s new for the .NET Native Compiler and Runtime in Visual Studio 2015 Update 2
Last week we released an update to the Visual Studio 2015 Tools for Universal Windows Apps (UWA). The release includes improvements across the libraries, runtime, and compiler. This means that development is faster and applications will be more responsive and easier to maintain. Applications such as NCAA March Madness Live and TuneIn Radio are already available in the Store built using our new .NET Native tools! Get the Universal Windows Platform Tools The latest version for Visual Studio 2015 Tools for Universal Windows Apps has been released as an update for Visual Studio 2015 Update 2. It can be obtained by in...
Notes from the ASP.NET Community Standup – April 12, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 4/12/2016
To read last week's post, see The week in .NET – 4/5/2016. On.NET We had to reschedule last week's show, but we'll be back this week with a new episode with PlayFab to talk about how the cloud can help make awesome games. Project of the week: Math.NET Numerics Math.NET is an open source initiative to implement mathematical computation in .NET. It includes numerical computing, symbolic algebra, geometry, and signal processing. This week, we'll look at numerical computing. Here's how you can define matrices and vectors, manipulate them, and perform operations between them: Notice how the vector's coor...
On .NET 3/31/2016 – John Kemnetz – C# Extension for VS Code
John Kemnetz gives us a demo of the experimental support for debugging C# in VS Code. The blog post on experimental debugger support in VS Code Complete instructions to install and try out debugging Join the insiders program
WhereYouAt DemoBuild 2016: Building the Front-end
In my previous post, I went over the user interface and application requirements. Let’s quickly revisit the project requirements: Get Coordinates In this app, I am getting the user location with a button using an onclick event handler. In order to grab the user's coordinates, I used the Geolocation API . Let’s have a look at the code. Get location getlocation() function simply shows the user longitude and latitude every time you load the page. But, in this case, I needed the user's coordinates to put the pins on the map. To do this we created a simple a location web api that, we can ...
Announcing NuGet 3.4.2
We have listened to the feedback from the community, and we have tried our very best to turn around quickly and address this feedback. Our primary focus for 3.4.2 have been around improving the quality and performance of the product. The complete list of issues fixed in this version is available on GitHub. In this post, we'll review the important changes in 3.4.2 release. You can download the latest 3.4.2 VS extension and Windows x86 Commandline (RC) from here. Performance Improvements Changes We have fixed some issues that broke compatibility in some cases with Artifactory, Klondike and Nexus. We have...
WhereYouAt Demo from Build 2016: Demo Flow and UI
Where You At Demo was a cool little live demo that our team put together for Build 2016. This demo showed off ASP.NET Core applications running in any cloud. Here's the video of Scott's session from the beginning of this demo: Team & Responsibility Scott Hanselman : Demo visionary and presenter , Azure load balancer, and problem solver. Steve Lasker : Demo visionary, cloud deployment, containers, Visual Studio Team Services , and API Services Glenn Condron: API services and Azure Storage. Maria Naggaga (me): User Interface , HTML5 & JS, and API calls . Demo Vision Users visit the...
Notes from the ASP.NET Community Standup – April 5, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the r...
The week in .NET – 4/5/2016
To read last week's post, see The week in .NET – 3/29/2016. On.NET Last week was a thrilling one for the .NET community, with lots of exciting announcements made at the Build conference. We decided to move the show to avoid being in direct competition with Build's live stream. On Monday, we recorded a show with John Kemnetz on the new experimental support for C# debugging in VS Code. We tried something a little different this time: instead of our usual one hour discussion, we did a short 20 minute live screencast. Let us know what you think in the comments. This week, Beth Massi and Maria Naggaga are taking ove...
Build 2016 Wrap up
We had an amazing time at the Build 2016 conference last week. We learned a lot from you our customers and we hope you learned a lot in our sessions. However, we don't want to limit the Build content to the folks that made it to San Francisco last week. Here's some of the great sessions that you can watch now from Channel 9 about ASP.NET, Web Development, and Open Source. Breakout Session Videos .NET Overview Introducing ASP.NET Core ASP.NET Core Deep Dive into MVC Deploying ASP.NET Core Applications Some sessions not specific to web topics, but interesting for web devel...
What’s New for C# and VB in Visual Studio
This week at Build 2016, we released Visual Studio 2015 Update 2 and Visual Studio “15” Preview. Both releases include many new language features that you can try today. It’s safe to install both versions of Visual Studio on the same machine so that you can check out all of the new features for yourself. New C# and VB features in Visual Studio 2015 Update 2 In Visual Studio 2015 Update 2, you’ll notice that we’ve added some enhancements to previous features as well as added some new refactorings. The team focused on improving developer productivity by cutting down time, mouse-clicks, and keystrokes to make ...
.NET at Build 2016 – Open, Cross-platform and FREE
Wow! Could you imagine your ecosystem being this good? It is. Today, at Build 2016, we surprised a lot of people with some amazing announcements. If you were watching, you could tell that Scott Guthrie was having a lot of fun on stage. The announcements ranged from device to cloud, including a lot of open source and a lot of FREE! For .NET developers, now is a great time to look at the full breadth of options you have available using your existing skills. If you are not a .NET developer, it's time to look at .NET again! The .NET ecosystem includes tools, APIs and services for every kind of developer, building ev...
Azure App Service Tools Updates in the Azure SDK for .NET 2.9
In the Azure SDK 2.9 we’ve made it significantly more convenient for developers who use Azure App Service to host their Web, Mobile, API, and background-processing WebJob apps. We’ve heard from customers who use Azure Resource Manager (ARM) templates to create their Azure topologies that they’re rarely creating one web app or one API app. Applications have layers, services, and tiers. To accommodate this scenario in the Azure tools we’re enabling you the ability to create App Services as a secondary services during provisioning. This means that in addition to the “main event” of your app-creation experience you h...
Announcing the .NET Framework 4.6.2 Preview
Updated (2017): See .NET Framework Releases to learn about newer releases. This release is not supported. We are pleased to announce the .NET Framework Preview 4.6.2. You can download the release from one of the following links: We've added new features and APIs in the following areas of the product: You can see the full set of changes in the .NET Framework 4.6.2 Preview in the change list and API diff that we've published on GitHub. ClickOnce Transport Layer Security (TLS) 1.1 and 1.2 Support ClickOnce has been updated to support TLS 1.1 and 1.2. ClickOnce will automatically detect whic...
Introducing NuGet 3.4
The NuGet team is happy to introduce version 3.4 and 3.4.1 of the NuGet clients for Visual Studio 2015. We shipped v3.4 with Visual Studio 2015 Update 2 and immediately followed that with the 3.4.1 release to address a small set of issues that were identified after Visual Studio bundled the NuGet 3.4 release. There were three main areas that the team focused on: The cross-platform support is being validated, and we plan to release command-line versions of nuget.exe in the coming weeks. We think you'll find these updates a welcome change that improves your day-to-day interactions with NuGet packages. The c...
The week in .NET – 3/29/2016
To read last week's post, see The week in .NET – 3/22/2016. Build conference The Build conference is this week! Stay tuned to this blog for announcements. You can find the list of sessions on Channel 9, which is also where you'll be able to watch the videos. On.NET Last week on On .NET, we had Richard Kiene from Joyent to talk about running .NET Core on the Joyent cloud. This week, we'll speak with John Kemnetz about the C# extension for VS Code. For the first time on the show, we'll have some demos this week. Project of the week: Foundatio Foundatio is an open-source set of building blocks for loosely-coup...
On .NET 3/24/2016 – Richard Kiene from Joyent
This week, Richard Kiene is our guest, to talk about running .NET Core in the Joyent cloud. .NET on the Joyent cloud: https://www.joyent.com/blog/running-a... VS Code extensions: https://marketplace.visualstudio.com/...
Dependency Injection in ASP.NET Core
In a recent Community Standup, one of the questions that was asked of the team was: "How do I get started with Dependency Injection in ASP.NET Core?" This is where we're going to answer your question, because in this post we're going to share how dependency injection is used in ASP.NET Core and how you can configure it to meet your needs. A Primer Dependency Injection is an application design that enables class dependencies to be automatically added to an instantiated object. The net effect is a loose coupling between classes, with dependencies provided to a class as constructor parameters or properties. The...
Get Started with ASP.NET Core Authorization – Part 2 of 2
After learning about the new Authorization Policy model in ASP.NET Core, our intrepid reporter Seth Juarez wanted to learn about more complicated ASP.NET Authorization policies. In the following video, he speaks with ASP.NET Security Analyst Barry Dorrans. Last time, Barry showed us how to get started with the new ASP.NET Policy model. Notes and links from their discussion follow. Previously with ASP.NET you had to authorize based on the membership of a role or the value of a claim. In the new ASP.NET Core Policies, these security requirements can be expressed through code and enforce more compli...
Notes from the ASP.NET Community Standup – March 22, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the...
The week in .NET – 3/22/2016
To read last week's post, see The week in .NET – 3/15/2016. Build Next week, many of us will be in San Francisco for the Build conference. This is a very exciting opportunity for us to present our latest work on .NET, and we hope to meet lots of you there. If you can't be there with us, don't worry, as the keynotes will be broadcast live, and breakout sessions will be recorded and available on Channel9. On.NET We had to re-schedule the show we had planned for last week, but we're back this week with Richard Kiene from Joyent, to talk about running .NET Core in the Joyent cloud. Tool of the week: Octopus Deploy Oc...
On .NET 3/10/2016 – Nick Craver on StackOverflow Performance
This week, our guest is Nick Craver, to talk about StackOverflow performance. You can also read Nick's report on 2016 perf.
Remote Debug ASP.NET Core RC1 on Azure App Service
ASP.NET developers who deploy their code to Azure App Service have remote debugging features available from the Visual Studio Server and Cloud Explorer windows. ASP.NET 4x projects can be debugged live in App Service by simply right-clicking your Web, Mobile, or API Apps in Cloud Explorer and clicking the “Attach Debugger” action. Under the hood, what happens during a remote debugging session is that the Visual Studio remote debugger attaches to the W3WP.exe process, in which the ASP.NET 4.x code executes. Since ASP.NET Core RC1 code is executed within the DNX.exe process, the remote debugging feature fails to li...
Notes from the ASP.NET Community Standup – March 15, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the...
Get Started with ASP.NET Core Authorization – Part 1 of 2
After learning about Authentication in ASP.NET Core, our intrepid reporter Seth Juarez wanted to dig deeper into the ASP.NET Authorization story. In the following video, he speaks with ASP.NET Security Analyst Barry Dorrans. Notes and links from their discussion follow. Authorization verifies that a user is permitted to access functionality, and requires some form of authentication in front of it. Authentication confirms a user's identity. Barry pointed out that many developers in older versions of ASP.NET implemented their own AuthorizeAttribute, and did not fully implement the entire specific...
The week in .NET – 3/15/2016
To read last week's post, see The week in .NET - 3/8/2016. On.NET Last week, we had Nick Craver on the show to talk about StackOverflow. It was lots of fun, and I highly recommend watching if you're interested in getting an inside look at how StackOverflow is being maintained and kept a high-performance site. Exceptionally this week, we won't have a show. Package of the week: Quartz.NET Scheduling background jobs in an application can be tricky business. Quartz.NET takes care of the details for you: it manages thread pools, schedules and triggers jobs, all from a simple fluent API: User group of the week...
Announcing v16.1 of the ASP.NET AJAX Control Toolkit
We are very happy to announce along with our partners at DevExpress, a new version of the ASP.NET AJAX Control Toolkit is now available. This version, labeled 16.1 delivers some documentation improvements, tutorials, and some long requested updates for existing controls. This is the one year anniversary of the stewardship of the AJAX Control Toolkit with DevExpress, and we thank them for their service to maintain the project. To help encourage further involvement with the project, its online source and managemenet has been moved to GitHub in the AjaxControlToolkit repository. Documentation for the toolkit has...
First Look: Authentication in ASP.NET Core
With the coming changes in ASP.NET Core, our friend and intrepid reporter Seth Juarez sat down with ASP.NET Program Manager Pranav Rastogi to discuss the updates and improvements in the new ASP.NET Core authentication system: Here are some of the highlights of their discussion and some sample code to get you started: Pranav gave a quick definition of authentication compared to authorization: Authentication validates who the user is and authorization validates access to the actions a user wants to perform. The authentication scenarios in ASP.NET are still the same as in previous versions: OAuth can be enabled wit...
Web Extension Pack for Visual Studio 2015
The Visual Studio extensibility ecosystem has been steadily growing in the past years and the community has built some really great extensions. Some of these extensions are specific to web development scenarios and are useful to almost all web developers using Visual Studio. The only problem is to find all these relevant extensions. That’s exactly the problem Web Extension Pack was created to fix. It's an unofficial extension created by the Visual Studio Web Team that describes itself as the easiest way to set up Visual Studio for the ultimate web development experience. It installs web development specific ext...
Notes from the ASP.NET Community Standup – March 8, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET Core framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the...
The week in .NET – 3/8/2016
To read last week's post, see The week in .NET – 3/1/2016. On.NET Last week, Rachel Reese was on the show to talk about her work with F# at Jet.com. This week, we'll talk performance with Nick Craver, who works for StackOverflow. Project of the week: Humanitarian Toolbox's allReady allReady is a project managed by the charity organization Humanitarian Toolbox that is designed to assist the management of community preparedness campaigns. It's being tested by the American Red Cross on a campaign to install smoke alarms within homes in the Chicago area. The project is built with ASP.NET Core and Entity Framework 7. ...
On .NET 3/3/2016 – Rachel Reese on F# at Jet.com
Our guest this week is Rachel Reese, to talk about Jet.com, and about how they use F# to build their micro-service architecture. Jet.com can be found at... https://jet.com/ Rachel's talk at fsharpConf 2016. Try F#: http://www.tryfsharp.org/ Rachel's Hanselminutes interview. I made a mistake near the end of the show, saying that I didn't know who we'll have next week. I do in fact know: we'll have Nick Craver, from Stack Overflow.
Announcing NuGet 3.4 RC
After several months of measuring, tuning, and testing, the NuGet team would like to announce version 3.4 RC of the NuGet clients for Visual Studio 2015 and the command-line. There were three main areas that the team focused on for this version: We think you'll find these updates a welcome change that improves your day-to-day interactions with NuGet packages. The complete list of issues fixed in this version is available on GitHub. In this post, we'll review the important updates in the 3.4-RC version. Visual Studio Performance The first thing that NuGet Visual Studio users should notice when using the N...
Announcing ASP.NET WebHooks Release Candidate 1
We are very excited to announce the availability of ASP.NET WebHooks Release Candidate 1. Thank you for all the positive feedback, suggestions, pull requests, and comments to date – they are essential to the process so keep them coming! < p>WebHooks provide a simple mechanism for sending event notifications across web applications and external services. For example, you can subscribe to receive a WebHook when someone sends money to your PayPal account, or when a message is posted to Slack, or a picture is posted to Instagram – the opportunities are endless! When subscribing, you provide a callback URI wh...
.NET Framework Compatibility Diagnostics
This post was written by Taylor Southwick, a software engineer on the .NET team. Introduction Updates to the .NET Framework 4 are delivered as highly-compatible in-place updates, which helps keep users' applications running on the latest and most secure versions of the .NET Framework. Some deviation from previous behavior has beeen seen when applications depend on specific behaviors that are not guaranteed or documented. Historically, these differences have been difficult to find, and so we are introducing the .NET Compatibility Diagnostics to help identify these changes during .NET version upgrades. .NET Compati...
fsharpConf 2016
Join us this Friday, March 4th on Channel 9 for the first ever fsharpConf! Tune in starting at 8:30am PST (16:30 GMT). Inspired by dotNetConf, fsharpConf is a free, online-only, day-long conference featuring an awesome lineup of talks from the F# community. Check out the fsharpConf site for more details, and follow @fsharpConf on Twitter. See you there! And if you miss it, the sessions will be recorded. :) Speakers & Talks
Notes from the ASP.NET Community Standup – March 1, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
On .NET 2/26/2016 – Scott Hanselman
This week, our guest was Scott Hanselman. The topic was highly volatile and subject to complete improvisation.
The week in .NET – 3/1/2016
To read last week's post, see The week in .NET – 2/23/2016. On.NET Last week, we had a fun, slightly chaotic discussion with Scott Hanselman. This week, our guest is Rachel Reese, and we'll talk about Jet.com and F#. Package of the week: SkiaSharp Xamarin released a new 2D drawing API based on Google's powerful Skia library that powers Chrome, Firefox, and Android's graphic stack. SkiaSharp is a portable library with support for OS X, Android, iOS, Mono, and .NET Framework. Tool of the week: Docfx Since its inception, .NET has included the ability for developers to include documentation in the form of X...
Notes from the ASP.NET Community Standup – Feb. 23, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
The week in .NET – 2/23/2016
To read last week's post, see The week in .NET - 2/17/2016. On.NET Last week, Joe Duffy was on the show to talk about Midori. This week, we had to move the show to Friday at 4:00PM Pacific Time, but we’ll have the pleasure of speaking with Scott Hanselman. Package of the week: RestSharp Interacting with REST resources may in theory be just a matter of using standard HTTP, but in practice, there is still ceremony involved around serialization, and authentication. RestSharp is a library that facilitates REST interaction from .NET code. Here's how you'd query a hypothetical directory service for information a...
Porting MSBuild to .NET Core
This post was written by Daniel Plaisted, a software engineer on the .NET Team. It's an exciting time for .NET. With .NET Core, we're moving full speed ahead into an open source, cross-platform world. .NET Core provides a framework for your apps that is modern, app-local, cross-platform, and open source all the way down. However, .NET Core brings with it some changes compared to .NET Framework which means there may be some effort involved if you want to port existing .NET Framework code to run on .NET Core. In our recent Porting to .NET Core post, we discussed what types of code make sense to port to .NET Core,...
On .NET 2/19/2016 – Joe Duffy
On today's show, we're speaking with Joe Duffy about Midori. Joe’s posts about Midori are a great complement to this video.
On .NET 2/12/2016 – Aaron Stannard
Our guest for this week is Aaron Stannard, to talk about Akka.NET, the actor framework for .NET, and about Aaron's other projects NBench and DotNetty.
ASP.NET Community Standup – February 16, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
The week in .NET – 2/17/2016
To read last week's post, see The week in .NET 2/11/2016. On.NET Last week, we had Aaron Stannard on the show, to talk about Akka.NET. This week, I'm looking forward to a chat with Joe Duffy about Midori. Packages of the week: Scientist ports No matter how carefully you are testing a refactoring, it's hard to be 100% sure your changes will work against real data and workloads until you put them in production. Scientist is a very neat Ruby library built by GitHub that makes it possible to deploy refactored code alongside existing logic for the same task, run both, then log and compare the results. This reduce...
Switching from WCF OData to Web API
One of the less visible changes since we released NuGet 3.0 is that NuGet uses a new server "API v3". This new API is designed around high availability for critical scenarios such as package restore and installing packages. API v3 will be the way forward for NuGet while keeping "API v2" around for older NuGet clients. We will be making a big change to the implementation of API v2 though: we're switching from WCF OData to Web API. In this post, we want to take you through why we are making this change and what it means to our users. Background When NuGet was released, we needed a client/server protocol that wou...
ASP.NET WebHooks and Slack Slash Commands
We just added a couple of new features in ASP.NET WebHooks that makes it easier to build some nice integrations with Slack Slash Commands. These commands make it possible to trigger any kind of processing from a Slack channel by generating an HTTP request containing details about the command. For example, a command typed in a Slack channel can be configured to send an HTTP request to an ASP.NET WebHook endpoint where processing can happen: As usual, you can get ASP.NET WebHooks from Nuget – look for beta6b with the preview flag turned on in Visual Studio. If you are new to ASP.NET WebHooks, then check out th...
The week in .NET – 2/11/2016
This issue of the Week in .NET is slightly late, and I apologize for that. I was visiting some customers in California for the first half of the week, and they've kept me very busy. I'm writing this post on the plane to Seattle. While I was in LA, I also visited the LADOTNET user group, where I talked about .NET Core, C# 6, and the future of C#. You can find links to my slides in the .NET section below. To read last week's post, see The week in .NET – 2/2/2016. On.NET Last week on On .NET, we had Scott Hunter, who is the new director of Program Management for .NET, in other words my grand-boss. We'll be l...
On .NET 2/4/2016 – Scott Hunter
This week, we're speaking with Scott Hunter about .NET, ASP.NET, shipping Core, and more...
Porting to .NET Core
.NET Core is getting closer and closer to an RTM release. Only two months ago, we announced the RC release of .NET Core and ASP.NET Core. As part of our validation, we're working with internal as well as external customers to port their code to .NET Core. We received many requests from you asking us how you should go about migrating existing code to .NET Core and how you can continue to target .NET Framework. In this post, I want to provide you with an overview of what porting existing code to .NET Core looks like, what kind of apps are good candidates, what tools we offer to help you port your apps, and how we'...
Porting to .NET Core
.NET Core is getting closer and closer to an RTM release. Only two months ago, we announced the RC release of .NET Core and ASP.NET Core. As part of our validation, we're working with internal as well as external customers to port their code to .NET Core. We received many requests from you asking us how you should go about migrating existing code to .NET Core and how you can continue to target .NET Framework. In this post, I want to provide you with an overview of what porting existing code to .NET Core looks like, what kind of apps are good candidates, what tools we offer to help you port your apps, and how we'...
Porting to .NET Core
.NET Core is getting closer and closer to an RTM release. Only two months ago, we announced the RC release of .NET Core and ASP.NET Core. As part of our validation, we're working with internal as well as external customers to port their code to .NET Core. We received many requests from you asking us how you should go about migrating existing code to .NET Core and how you can continue to target .NET Framework. In this post, I want to provide you with an overview of what porting existing code to .NET Core looks like, what kind of apps are good candidates, what tools we offer to help you port your apps, and how w...
ASP.NET Community Standup – February 2, 2016
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
The week in .NET – 2/2/2016
To read last week's post, see The week in .NET - 1/25/2016. On.NET On .NET can now be enjoyed on Channel 9, in addition to our YouTube channel. A nice consequence of this, beyond the additional audience, is that we're getting a nice audio podcast feed out of it, which should be useful to all of you who prefer to enjoy the show at times when you can't stare at a screen, for example during your commute. Last week, we had Brian Flannery and Colin Sullivan from Apcera on the show, to talk about NATS, a high performance messaging system with a great .NET client. You can learn more about NATS on the NATS web site....
An Update on ASP.NET Core and .NET Core
Two weeks ago, the ASP.NET team announced during the weekly ASP.NET Community Standup and on our blogs it was decided to rename ASP.NET 5 to ASP.NET Core 1.0. This announcement generated great questions that I'll answer in this post. I'll also update you on our progress with the ASP.NET Core and .NET Core releases. Why Do I Still See ASP.NET 5 in Various Official Places? In the interest of transparency, we decided to disclose the name change before the changes were committed to GitHub. We didn't want to surprise everyone with a flood of renames and changes to projects and documentation. Now that we are ...
On .NET 1/26/2016 – NATS with Brian Flannery and Colin Sullivan
This week, our guests are Brian Flannery and Colin Sullivan from Apcera. We're talking about NATS, a high performance messaging system with a great .NET client.The NATS web site can be found at http://nats.io
On .NET 1/26/2016 – NATS with Brian Flannery and Colin Sullivan
This week, our guests are Brian Flannery and Colin Sullivan from Apcera. We're talking about NATS, a high performance messaging system with a great .NET client.The NATS web site can be found at http://nats.io
On .NET 1/26/2016 – NATS with Brian Flannery and Colin Sullivan
This week, our guests are Brian Flannery and Colin Sullivan from Apcera. We're talking about NATS, a high performance messaging system with a great .NET client.The NATS web site can be found at http://nats.io
On .NET 1/26/2016 – NATS with Brian Flannery and Colin Sullivan
Sending ASP.NET WebHooks from Azure WebJobs
Azure WebJobs is a great way for running any kind of script or executable as a background process in connection with an Azure App Service Web Site or App. You can upload an executable or script as a WebJob and run it either on a schedule or continuously. The WebJob can perform any function you can stick into a command line script or program and using the Azure WebJobs SDK, you can trigger actions to happen as a result of inputs from a number of sources, for example: WebHooks provide a simple mechanism for sending event notification across web applications and external services. For example, you can...
The week in .NET – 1/25/2016
To read last week's post, see The week in .NET - 1/19/2016.On.NETLast week, we chatted with Don Syme about the future of F#, and the community behind it. This week, our guests are Brian Flannery and Colin Sullivan from Apcera. We're going to talk about NATS, a high performance messaging system with a great .NET client.Package of the week: ASP.NET MVC BoilerplateASP.NET MVC Boilerplate is a great way to start a new modern and professional ASP.NET MVC application with all the bells and whistles that are expected today. A feature selection wizard lets you select which features you want on your web site from a huge l...
Microsoft .NET Framework 4.6.1 is available on Windows Update and WSUS
Updated (2017): See .NET Framework Releases to learn about newer releases. We are happy to announce that the .NET Framework 4.6.1 and its language packs are now available on Windows Update (WU) and WSUS for Windows 7 SP1 and Windows Server 2012 R2. An offline installer is available here for Windows 8.1, Windows Server 2008 R2 SP1 and Windows Server 2012. Additionally, the .NET Framework 4.6.1 is included in the Windows 10 November Update for Windows 10 computers. This update is available in the Windows Update applet within the Control Panel. You may need to use the Check for updates feature from within the Wind...
NuGet ContentFiles Demystified
Updated - Feb 26, 2015: Thanks to Jared Barneck for some suggested edits to add some steps to the sample NuGet creation process In NuGet 3.3, the feature was introduced to support project.json managed projects and packages that are indirectly referenced in a project. This was an important change because it brings the ability to deliver static files, .pp file transforms, and language specific code into a project. In this post, we'll explore how to make use of this feature and show some samples of how to make the most of it in your projects. Definition Let's start with a quick definition. ContentFiles in NuGet ...
On .NET 1/21/2016 – F# with Don Syme
This week, we're happy to have Don Syme on the show to talk about F#.
The week in .NET – 1/19/2016
To read last week's post, see The week in .NET - 1/12/2016. On.NET Last week, we had Jonathan Chambers on the show to talk about Unity. This week, we'll have Don Syme, and we'll talk about F#. Package of the week #1: NATS client Microservices and IoT both require distributed architectures where a large number of endpoints communicate fast and reliably. NATS is a popular high-performance cloud-based messaging system that is an excellent fit for such scenarios. The .NET client for NATS can publish over 3 million messages per second (and that's in a VM, on a developer laptop). Here's how you'd send a simple o...
ASP.NET 5 is dead – Introducing ASP.NET Core 1.0 and .NET Core 1.0
This post originally appeared on Scott Hanselman's blog at: http://www.hanselman.com/blog/ASPNET5IsDeadIntroducingASPNETCore10AndNETCore10.aspx Naming is hard. There are only two hard things in Computer Science: cache invalidation and naming things. - Phil Karlton It's very easy to armchair quarterback and say that "they should have named it Foo and it would be easy" but very often there's many players involved in naming things. ASP.NET is a good 'brand' that's been around for 15 years or so. ASP.NET 4.6 is a supported and released product that you can get and use now from http://get.asp.net. However, nam...
On .NET 1/14/2016 – Unity 3D with Jonathan Chanbers
Unity is a very popular development platform for multiplatform 2D and 3D games. In this episode, we speak with Jonathan Chambers about what's next for Unity.
On .NET 1/7/2016 – Mads Torgersen
A weekly chat about .NET. This week, our guest Mads Torgersen, Program Manager for the C# language, spouts spoken words at the camera with us.
On .NET 1/7/2016 – Mads Torgersen
A weekly chat about .NET. This week, our guest Mads Torgersen, Program Manager for the C# language, spouts spoken words at the camera with us.
On .NET 12/17/2015 – Miguel de Icaza
A weekly chat about current events and topics. This week, our guest is Miguel de Icaza, from Xamarin. Mono is on Gitter.
NuGet Targets for Project.Json now open source
A question that comes up from time to time is: how does Visual Studio 2015 add references when using project.json files in conjunction with a csproj without modifying the csproj file? This is a good question and demonstrates some of our strategy to help make NuGet easier to integrate into project systems without having to teach NuGet how to work with every project system. We've released this component as open source, and we'll show you where you can learn more about how it was built. There is a MSBuild task for csproj files that will examine the project.lock.json file and determine what assets should be added. T...
Accelerate your NuGet.Server
Since its inception, NuGet supports setting up custom package sources. There's the default NuGet Gallery, there's third-party NuGet hosting (see the NuGet Ecosystem), we can use local directories on our hard drive or a network UNC share (like ) and there's the NuGet.Server package that we can use to create our own NuGet server. Developers and teams have been using NuGet.Server to host and share their NuGet packages internally without exposing them publicly on nuget.org. It's easy to set up: install a NuGet package and we can work with our own NuGet server over HTTP(S). Some users went above and beyond in hostin...
Visual Studio keeps showing suggested extensions
In Visual Studio 2015 Update 1 we introduced a mechanism that would analyze a web project and suggest helpful Visual Studio extensions based on what it could find. For instance, if the project was using the Bootstrap CSS framework, it would suggest two very cool extensions specifically for working with Bootstrap. It works by showing a yellow bar at the top of the editor when an HTML document is being opened. The idea was to improve the user experience by suggesting extensions from the community that would make you more productive based on your current context. While some people found these suggestio...
The week in .NET – 1/12/2016
To read last week's post, see The week in .NET - 1/5/2016.On.NETLast week, we had Mads Torgersen on the show to talk about language design in general, and C# in particular. This week, we'll talk to Jonathan Chambers from the Unity 3D team about game engines, and using .NET to target iOS, Android, or even the Web. Please send me your questions ahead of time, or attend the show and ask them on the chat. Tune in on Thursday, at 10:00AM PST to view the show live!Package of the week #1: JSON.NET 8JSON.NET needs no introduction, as it is the recommended library to serialize and deserialize JSON in .NET. James Newton-Ki...
The week in .NET – 1/12/2016
To read last week's post, see The week in .NET - 1/5/2016. On.NET Last week, we had Mads Torgersen on the show to talk about language design in general, and C# in particular. This week, we'll talk to Jonathan Chambers from the Unity 3D team about game engines, and using .NET to target iOS, Android, or even the Web. Please send me your questions ahead of time, or attend the show and ask them on the chat. Tune in on Thursday, at 10:00AM PST to view the show live! Package of the week #1: JSON.NET 8 JSON.NET needs no introduction, as it is the recommended library to serialize and deserialize JSON in .NET. James N...
Task runners in Visual Studio 2015
There are various kinds of tasks typically used by web developers as part of their workflow. Everything from bundling and minifying JavaScript files, to compiling LESS files into CSS and even running custom batch or PowerShell scripts. In a sense you can say that tasks are steps that needs to be performed to make the application run that are separate from coding it. Visual Studio 2015 supports any kind of custom task execution from the new Task Runner Explorer tool window. It ships with built-in support for two very popular web centric task runners – Grunt and Gulp. The Task Runner Explorer shows a list of ...
The week in .NET – 1/5/2016
We're back for a new year of .NET! For this first week of 2016, we're off to a great start with two packages and lots of interesting posts.To read last week's post, see The week in .NET - 12/29/2015.On.NETThis week on our On.NET live YouTube show, we'll speak with Mads Torgersen, probably mostly about C#. Please feel free to send me questions in advance, or to attend the show live and ask Mads questions directly on the chat.Package of the week #1: ReactiveUIReactiveUI uses Reactive Extensions for .NET to create testable UI that are compatible with Xamarin (iOS, Android, and Mac), WPF, Windows Forms, UWP, etc.Here...
The week in .NET – 1/5/2016
We're back for a new year of .NET! For this first week of 2016, we're off to a great start with two packages and lots of interesting posts. To read last week's post, see The week in .NET - 12/29/2015. On.NET This week on our On.NET live YouTube show, we'll speak with Mads Torgersen, probably mostly about C#. Please feel free to send me questions in advance, or to attend the show live and ask Mads questions directly on the chat. Package of the week #1: ReactiveUI ReactiveUI uses Reactive Extensions for .NET to create testable UI that are compatible with Xamarin (iOS, Android, and Mac), WPF, Windows Forms, U...
New Year Updates to ASP.NET WebHooks Preview
We just released a new update of ASP.NET WebHooks with a couple of interesting new features on the WebHooks sender side – that is, when you want to send WebHooks to others when some event happens – including: You can get the update from nuget.org by looking for the packages under Microsoft.AspNet.WebHooks.* with ‘preview’ filter enabled. If you haven’t heard about ASP.NET WebHooks then you may want to look at Introducing Microsoft ASP.NET WebHooks Preview. As this blog is about the sending side, the blog Sending WebHooks with ASP.NET WebHooks Preview also provides good background. Sending Events to Al...
The week in .NET – 12/29/2015
We have a short post this week, as many people are on vacation, including me. Unsurprisingly, no .NET user group has events for this week, so we'll skip the section this time. As always, this weekly post couldn't exist without community contributions, and I'd like to thank all those who sent links and tips. You can participate too. Did you write a great blog post, or just read one? Do you want everyone to know about an amazing new contribution or a useful library? We'd love to hear from you, and feature your contributions on future posts: This week's post (and future posts) also contains news ...
Using ASP.Net Module to Debug Async Calls
I had a web application that generously used async/await keywords. The application encountered a slow response possibly due to a pending backend database call. I attached a debugger to the application. There was, however, nothing running in the process (see Figure 1), which was expected due to the calls being async and the waiting threads were no longer active. It is frustrating seeing no code running when debugging applications using asynchronous methods. What can I do? Figure 1 “Nothing” is running in the process. The 'Location' column is empty. Introducing TPLEventListenerModule And...
The week in .NET – 12/22/2015
Last week, we had a great time with Miguel de Icaza on the first episode of our new live YouTube show On.NET. On future episodes of the show, we want to have guests who represent every facet of the .NET community. If there's somebody you'd like to see on the show, please let us know! We won't have a show this week or next week because of the holidays, but will resume on the first week of January. The Week in .NET post series continues uninterrupted. This week, we're adding a new gaming section to the post. .NET is increasingly present in the game development community, thanks in no small part to Unity. The ...
WCF Connected Service Visual Studio Extension Preview for ASP.NET 5 Projects
Over the years, many Visual Studio developers have enjoyed the productivity that Add Service Reference Dialog Box provided when their projects need to access Windows Communication Foundation (WCF) services. WCF team is excited to introduce you to the support of Add Service Reference functionality for ASP.NET 5 projects via WCF Connected Service extension preview. This tool retrieves metadata from a WCF service in the current solution, locally or on a network and generates a .NET Core compatible source code file for a WCF client proxy that you can use to access the service. How to install the extension ...
The week in .NET – 12/15/2015
We have some great content and news for you this week. I can't emphasize enough that this weekly post couldn't exist without community contributions, and I'd like to thank all those who sent links and tips. Keep them coming! In a way, this is an open source blog post series ;) The first piece of news I want to share is that the posts are being translated to Korean by Eunji Kim. The first post can be found here. If you'd like to do the same and translate the posts to your language, and add news from your local communities, you are more than welcome to do so. Please drop me a line, and I'll link to your translat...
Support Ending for the .NET Framework 4, 4.5 and 4.5.1
Updated (2017): See .NET Framework Releases to learn about newer releases. As previously announced, starting January 12, 2016 Microsoft will no longer provide security updates, technical support or hotfixes for .NET 4, 4.5, and 4.5.1 frameworks. All other framework versions, including 3.5, 4.5.2, 4.6 and 4.6.1, will be supported for the duration of their established lifecycle. The decision to end support for these versions will allow us to invest more resources towards improvements of the .NET Framework. What Does This Mean? You should ensure that a supported version of the .NET Framework is installed in you...
The week in .NET – 12/08/2015
Welcome to the second "The Week in .NET" post. It was great to see how well the first post was received. Thanks to all who sent messages of encouragement and contributions to this week's post. If you would like to participate too, if you wrote a great blog post, or just read one, if you want to show an amazing new contribution, if you've written a useful library, we'd love to hear from you, and feature it on future posts. You can send me an email to beleroy at Microsoft, or you can comment on this gist with new links, or you can simply leave us a pointer in the comment section below. Package of the week #0: Angl...
New feature to enable C# 6 / VB 14
The model to leverage updated versions of C# or VB in web apps has changed over the past few years. In the past to leverage a new version of C# or VB you would get the runtime and build tools by installing the .NET Framework. With Visual Studio 2015 and the latest version of MSBuild this is no longer needed. You can decide which applications leverage C# 6/VB 14 by adding a NuGet package, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, to your web projects. When you add this NuGet package to your web applications then you can start using C# 6/VB 14 in both the code behind as well as Views. In Visual Studio...
[Guest Post] Announcing F# Support in Visual Studio Code with Ionide
This is a guest post by Krzysztof Cieślak, an F# community developer and contributor to the Ionide project including its Visual Studio Code extension. To learn more about F# and engage with the community, head to fsharp.org. To learn more about the Ionide project, head to ionide.io.Ionide is a suite of packages for the Atom editor that aims to provide a fully-featured, modern, cross-platform, open-source IDE for F# development. It's available via download using the Atom Package Manager.At Connect, we announced the release of a set of Ionide extensions for Visual Studio Code, adding F#, Paket and FAKE support...
The Week in .NET – 12/1/2015
This is our first "The Week in .NET" post. Our objective in writing this is to provide more regular updates about what the team and core contributors have been working on, and to give a community heartbeat, in the form of a list of interesting links. Of course, if you wrote a great blog post, or just read one, if you want to show a great new contribution, if you've written a useful library, we'd love to hear from you, and feature it on future posts. You can send us such tips at beleroy at Microsoft, or you can comment on this gist with new links, or you can simply leave us a pointer in the comment section below. ...
.NET Framework 4.6.1 is now available!
Updated (2017): See .NET Framework Releases to learn about newer releases. Updated (1/2016): This post was updated to add information about reference source for .NET Framework 4.6.1. Today we are announcing the availability of .NET Framework 4.6.1. You can download this release now. Here is a summary of key improvements available in .NET Framework 4.6.1: The .NET Framework 4.6.1 can be installed on Windows 10, Windows 8.1, Windows 8, Windows 7 and the corresponding server platforms. You can use either the web installer or the offline installer based on your needs. ...
What’s New in Visual Studio Update 1 for .NET Managed Languages
Hold on to your hats, cowboys and cowgirls! A lot of exciting things are coming out of the .NET Managed Languages team for Visual Studio 2015 Update 1. Read on to learn more about new IDE features, interactive C#, new code analysis management, Visual F# improvements, and the new F5 experience for Roslyn open source development. You can now right-click on a base type/member and navigate to its various implementations. New Editor Features Now that we have Roslyn in Visual Studio 2015, we can leverage its power to create the smartest IDE out there. The improvements we’ve made to the IDE experience in Update ...
.NET Core and ASP.NET Bug Bounty Update
As we've now released RC1 of .NET Core and ASP.NET restrictions on areas for investigation are now lifted. The entire cross platform stack, including networking is now in scope and eligible for bounty submissions.The ASP.NET web site has instructions on how to install RC1 on Windows, Linux and OS X. Windows researchers can use Visual Studio 2015, including the free Visual Studio 2015 Community Edition, after installing RC1 from https://get.asp.net. The source for .NET Core can be found on GitHub at https://github.com/dotnet/corefx. The source for ASP.NET v5 can be found on GitHub at https://gi...
Using ASP.NET WebHooks with IFTTT and Zapier to Monitor Twitter and Google Sheets
With the latest drop of ASP.NET WebHooks we have added a generic JSON WebHook receiver, which can be used to receive WebHooks from services like IFTTT and Zapier. Both IFTTT and Zapier provide a huge number of integrations in areas such as productivity, automotive, blogging, CRM, commerce, project management, IoT, social, mobile, collaboration, and much more. For a full list, check out IFTTT channels and browse Zapier zaps. A really cool thing about both IFTTT and Zapier is that they enable regular HTTP requests to be output of an integration. That is, you can build integrations that when something happens, a We...
Are you GLAD?
Holidays are almost upon us. Last year around Christmas time I wrote a set of GC ETW blog entries to help with diagnosing GC heap related issues. This year I want to discuss taking that a (big) step further and making an SDK that does the analysis for you using these ETW events - so before I leave for vacation I’d like to share with you the plan I have for the SDK. The SDK is called GLAD which stands for GC Latency Analysis and Diagnostics. This will essentially be based on the analysis and diagnostics work for the GC we have in PerfView today but I wanted to isolate it out and make it into an SDK so e...
Announcing .NET Core and ASP.NET 5 RC
Updated (2017): See .NET Core Releases to learn about newer releases. This release is not supported. Today, we are announcing .NET Core and ASP.NET 5 Release Candidate, supported on Windows, OS X and Linux. This release is "Go Live", meaning you can deploy apps into production and call Microsoft Support if you need help. Please check out the Announcing ASP.NET 5 RC blog post to learn more about the updates to ASP.NET 5. The best way to get the RC is to go to the http://get.asp.net site. It has everything you need: downloads, instructions and samples. If you already have one of the betas installed, you can u...
Announcing ASP.NET 5 Release Candidate 1
Update - 11-30-2015: The ASP.NET 5 RC1 installers and DNX packages have been updated to address the following issues: The updated version of DNX (1.0.0-rc1-update1) is available via the .NET Version Manager (DNVM). Note, no other ASP.NET 5 NuGet packages are affected by this update and thus their versions remain unchanged. If you have already installed RC1 please acquire and run the installer again from http://get.asp.net to get this update. As scheduled on our ASP.NET 5 roadmap and demonstrated during the Connect() event, we are proud to announce the availability of runtime and tooling for the RC1 r...
Entity Framework 7 RC1 Available
Today we are making Entity Framework 7 RC1 available. EF7 will be the next major release of Entity Framework and is currently in pre-release. When to use EF7 As discussed in our EF7 – v1 or v7 post, EF7 introduces some significant changes and improvements over EF6.x. Because EF7 is based on a new core, the features from EF6.x do not automatically carry over into EF7. For this reason, EF6.x may still be the most suitable release for many applications – at least for the time being. The situations where we would recommend using EF7 are: For all other applications, you should consider usin...
NuGet 3.3 Release
Big news: a new version of the NuGet clients has been released! This is version 3.3 of the client, with a new command-line and Visual Studio 2015 extension available for use. Use the above links to download from the NuGet distribution site, also accessible with the 'Downloads' menu item above. This is a release that the NuGet team worked closely with community influencers to ensure it closed some of the usability gaps and made packages a bit easier to build. Complete details of this version are available in the v3.3 release notes, but lets take a look at the highlights of this release: User Interface Updates Si...
Updates to Microsoft ASP.NET WebHooks Preview
We just released Beta4 of ASP.NET WebHooks Preview with a nice set of new features based on feedback and help from the community! Always let us know what you think – either by raising a issue on GitHub or pinging me on twitter. You can get the update from nuget.org by looking for the packages under Microsoft.AspNet.WebHooks.*. If you haven’t heard about ASP.NET WebHooks then you may want to look at Introducing Microsoft ASP.NET WebHooks Preview. Here’s what’s new: Storing WebHook Registrations in SQL This feature is from a pull request from Ryan Posener -- thanks! It enables storing Custom WebHook Registration...
Announcing .NET Framework 4.6.1 RC
Updated (2017): See .NET Framework Releases to learn about newer releases. This release is not supported. We are pleased to announce the release of .NET Framework 4.6.1 RC today. This release includes ~150 fixes and some new features. You can read about the new fixes and features that are included in the RC release and try out the bits using the links below. Here is a summary of the few of the updates and key improvements we are introducing today: You can download and try out the release now: .NET Framework 4.6.1 RC You can learn more about this release by loo...
.NET Core and ASP.NET Launches a Beta Bug Bounty Program.
A guest post from Barry Dorrans, the security lead for ASP.NETToday, with great excitement, we announce an introductory 3 month bug bounty program for .NET Core and ASP.NET, our new open source, cross platform runtime and web stack. The program encompasses the latest beta version, beta 8 and any subsequent beta or release candidates released during the program period.We recognize that you, our customers, rely on our platforms and development tools to write your own software. The more secure we can make our frameworks the more secure your software can be. We take your trust seriously and this program is part ...
Announcing Availability of ASP.NET 5 Beta8
ASP.NET 5 beta8 is now available both on NuGet and as a tooling update to Visual Studio 2015! This release greatly expands the supported surface area of .NET Core on OS X and Linux. You can now use networking, cryptography and globalization features cross-platform! This release also includes some nice improvements to ASP.NET 5, DNX and the Web tools. Let’s take a look at how we can get started with ASP.NET 5 beta8. Installation You can find instructions in our documentation for installing ASP.NET 5 beta8 on Windows, Mac and Linux. New Features Below is a summary of some of the new features in ASP.N...
NuGet 3 – Visual Studio User Interface Discussion
We want to continue our discussion of the recent changes made to the NuGet experience with the v3 releases, and in this second blog post of the series we are going to focus on the user interface updates that were made for Visual Studio 2015. I touched on it briefly in our last blog post about What and Why, but this time lets go a little deeper into the functionality and then explore the changes that are being made. 2013 compared to 2015 We showed this side-by-side comparison in the last blog post, and it helps to show immediately what has changed: I covered the good, bad, and ugly about this user interface p...
NuGet 3.2.1-RC and NuGet 2.9-RC released
Today we are releasing nuget.exe 3.2.1-RC and NuGet 2.9-RC. A number of issues were identified in both versions that prevented interoperability on Linux and OSX operating systems. We also made some fixes to 3.2 in order to reduce network utilization. Changes Below are the top highlights of these releases 2.9-RC The complete 2.9 issue list is available in GitHub 3.2.1-RC The complete 3.2.1 issue list is available in GitHub Download from NuGet 3.2.1 extension for Visual Studio 2015 https://dist.nuget.org/visualstudio-2015-vsix/v3.2.1-rc/NuGet.Tools.vsix NuGet 3.2.1 command line https://dist.n...
NuGet 3 – What and Why?
Since Visual Studio 2015 was released in July, developers have started using a new version of NuGet, NuGet 3 We decided to introduce a number of significant changes based on feedback from the community. With any major version change, some things break… and usually for a good reason. We have bugs and issues that we are addressing and want to share what the plan was for versions 3.x and what the plan is for the future. The NuGet 2.x code base proved to be tightly coupling user interface and protocol. NuGet 3 included a major rewrite of the code base to allow for supporting the new V3 nuget server Protocol. User ...
Package Content and Removals
The NuGet community is awesome; involved and eager to build software to make it easy for use in bigger projects that the components and libraries that they themselves are building. Every now and again, community members can get a little too eager. This post is going to address a recent issue that was presented to the NuGet.org administrators. In the terms of use for the NuGet.org service: "You may not upload or transmit any material that infringes or misappropriates any person's copyright, patent, trademark, or trade secret, or disclose via the Website any information the disclosure of which would constitute a v...
Receive WebHooks from Azure Alerts and Kudu (Azure Web App Deployment)
The Microsoft ASP.NET WebHooks preview is moving forward! We have received two very cool source contributions adding support for Kudu (Azure Web App Deployment) and Bitbucket. There is a sample for Bitbucket, but here we will focus on Kudu as well as Azure Alerts which just announced support for WebHooks. Kudu provides a ton of functionality for deploying, managing, and inspecting Azure Web Apps (formerly known as Azure Web Sites). The source code for Kudu is available on GitHub along with documentation describing all the cool things it can do. One way you can use Kudu WebHooks is to get notified when an update ...
Why did my package download count suddenly go up
Last week, we released our Revised Download Counts and Package Statistics that are now based on the raw logs of our CDN. For this to become reality, we had to also import data from our old statistics data warehouse into the new system. As it turns out, we overlooked something very important: in the old system (and by importing data, also in the new system), NuGet download counts did not reflect non-normalized package versions. Today, we’re taking these downloads into account as well, resulting in an increase in package downloads for many NuGet packages that have been in the NuGet gallery for a long time. Our old...
Announcing the ASP.NET WebHooks Visual Studio Extension Preview
After a few days of work, I’m excited to introduce you to the ASP.NET WebHooks preview support we’ve put together for Visual Studio developers. This tool bootstraps your ASP.NET project with the NuGet packages and configuration code you’ll need so you can add custom processing for incoming WebHook requests from third parties like GitHub, Dropbox, and more. The 7-minute video embedded below demonstrates and end-to-end user experience offered by the WebHooks extension. Over the past few weeks Henrik has been busy developing framework NuGets that enables WebHook support for ASP.NET, and he’s documented each...
What’s new for .NET and UWP in Win10 Tools 1.1
This post was written by Lucian Wischik, Program Manager on the Managed Languages team. Last week we updated the Visual Studio tools for Universal Windows Apps. The easiest way to get the update is within Visual Studio, under Tools > Extensions > Updates. (Also read the release notes). As part of this update, we're including a new opt-in pre-release feature that will shrink the size of your app: In this article I'll tell you the what and why and how of this new feature. Then I'll tell you how it fits into the wider context -- about how improvements in .NET make their way into your UWP apps. UWP ...
Meet the new NuGet status page
On the server side we are working on boosting performance, scalability and reliability. We were also in need of a new status page to better communicate the status of the service. Without further ado: meet the new status.nuget.org! We're happy with this new incarnation of our status page. It not only shows whether individual services are up or not, it also adds some insights in our back-end jobs like search indexing. And when we want to communicate written context about potential issues, we can now do so as well. Services status The question we get when we have a production service issue is the one which is d...
Revised Download Counts and Package Statistics
In the last few months we have been hard at work on the NuGet.org backend. One of the things we've done is switch to a new CDN. This work is all about reinforcing the foundations of nuget.org so we provide a better service experience and be in a position to build new features reliably. As a result we're happy to announce package statistics are back! From the NuGet gallery, we can see various statistics and trends in package downloads (for the last 6 weeks). We can drill down to individual packages and get details on the number of downloads per package version, NuGet client name and even the operation. This al...
ASP.NET Community Standup – September 15, 2015
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
Accelerate your network share hosted Package Source
This is a guest blog, by Andrew Arnott from the Visual Studio team. Andrew was having performance issues with NuGet updating or installing packages from a UNC share. These issues where well known, and our solution in the past was to point people to http servers. We discussed this issue with Andrew and suggested that the new supported folder structure introduced in NuGet 3 and in 2.8.7 should resolve the issue. This blog is the result of Andrew's experiments with the structure in his project. (The NuGet team) Accelerate your network share hosted Package Source NuGet is fairly flexible in where you set up your ...
Integrating with Instagram using ASP.NET WebHooks Preview
In the blog Introducing Microsoft ASP.NET WebHooks Preview, we gave an overview of how to work with Microsoft ASP.NET WebHooks. We described how you get out-of-the-box support for a variety of WebHooks providers such as Dropbox, GitHub, MailChimp, PayPal, Slack, Salesforce, Trello, as well as being able to write your own. In this blog we describe integrating with Instagram which enables you to get notified as new images and videos are posted to their service. Instagram WebHooks support four kinds of subscriptions: The last one is my personal favorite as it is very easy to use and provides grea...
Deploy to Azure from GitHub with Application Insights
Browsing GitHub the other day I found an interesting button in README: Deploy to Azure. This button intrigued me to say the least. With one click I can create my own instance of that web app and try it out. Isn’t it great? And it’s very easy to insert into your own GitHub repo. But every app should include monitoring! So I’ll show you how to extend the button to create a new Application Insights resource. Anyone who deploys your app also gets their own web app monitor that shows the performance and usage of their instance of the app. Just a button There is a nice blog post on how to implement this button for ...
Announcing the NuGet 3.2 release
Today we are publishing the version 3.2 updates to the NuGet clients. We took customer feedback regarding issues and feature direction and assembled this release to address those immediate concerns. There are fixes available for a number of blocking issues and adds support for push and list for compliant V3 servers. We also added support for the command line client to interact with v3 servers as well as project.json managed projects. You can download the updates to both the nuget.exe command-line tool and the Visual Studio 2015 extension. We also decided to increment the version of nuget.exe (NuGet command line)...
Our Summer Internship on the .NET Team
This post was written by Microsoft Explorer interns Daniel King, Zoë Petard, and Jessica Petty and highlights their project & experiences this summer working on the .NET Roslyn team. We loved having them this summer! Roslyn Diagnostic Analyzer Tutorial Tired of frustrating compile-time errors? Analyzers can examine code as you type and present live diagnostics. Wish you could standardize code across your organization? Analyzers can enforce coding protocols during code production instead of at code check-in. This blog post will explore how analyzers work and walk through the analyzer tutorial that we...
Sending WebHooks with ASP.NET WebHooks Preview
In the blog Introducing Microsoft ASP.NET WebHooks Preview, we gave an overview of how to work with Microsoft ASP.NET WebHooks. We mentioned that it is not only possible to receive WebHooks from others but also to add support for sending WebHooks from your Web Application. This blog goes into detail on how to do that. Sending WebHooks is slightly more involved in that there are more things to keep track of. In order to support other APIs registering for WebHooks from your ASP.NET application, we need to provide support for: Microsoft ASP.NET WebHooks help you throughout this process making...
ASP.NET Community Standup – September 8, 2015
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
Integrating with Salesforce using ASP.NET WebHooks Preview
In the blog Introducing Microsoft ASP.NET WebHooks Preview, we gave an overview of how to work with Microsoft ASP.NET WebHooks. Out of the box we provide support for a variety of existing WebHooks providers such as Dropbox, GitHub, MailChimp, PayPal, Slack, Trello, and many more. Salesforce does not support classic WebHooks, but they do have a concept called Outbound Soap Messages which shares many of the same characteristics. As a result, it is possible to receive these messages using ASP.NET WebHooks which we will describe here. To support receiving Outbound Soap Messages you need to install the Microsoft.AspN...
Integrating with Slack Using ASP.NET WebHooks Preview
In the blog Introducing Microsoft ASP.NET WebHooks Preview, we gave an overview of how to work with Microsoft ASP.NET WebHooks. Slack provides an interesting model where you can set up a WebHook to be fired when a certain trigger word is used in one of their messaging channels. In addition, it is possible for the WebHook to send data back to the channel which is very useful. For example, if you have a trigger word AskMe: then you can get the WebHook to respond like this: WebHook Configuration To setup Slack WebHooks you need a Slack account. Then you configure the WebHook using what they call an Integration a...
Introducing Microsoft ASP.NET WebHooks Preview
We are very pleased to announce ASP.NET WebHooks preview as a new addition to the ASP.NET family. WebHooks is a lightweight HTTP pattern providing a simple pub/sub model for wiring together Web APIs and SaaS services. When an event happens in a service, a notification is sent in the form of an HTTP POST request to registered subscribers. The POST request contains information about the event which makes it possible for the receiver to act accordingly. Because of their simplicity, WebHooks are already exposed by a large number of services including Dropbox, GitHub, Instagram, MailChimp, PayPal, Slack, Trello, an...
AJAX Control Toolkit Critical Update
Our friends at DevExpress have been hard at work on the AJAX Control toolkit and have an update available that should be installed to cover a critical security vulnerability that has existed prior to the v15.1.x version.Brian Cardinale discovered the security vulnerability, a directory traversal issue, and has a blog post describing the issue in more detail.Read more on the DexExpress blog: https://community.devexpress.com/blogs/aspnet/archive/2015/08/31/update-ajax-control-toolkit-to-patch-critical-security-vulnerability.aspxDownload an installer for the latest version of the toolkit now.
MSBuild is going cross-platform with .NET Core!
We have some exciting new developments to share – an update on our open source development, our ongoing cross-platform work, and more. Going forward, we will post everything around MSBuild and build tools in general here on the .NET blog. You can still check out the many interesting tips and tricks that we earlier posted on the MSBuild Team blog. MSBuild is now open source, and it is going cross-platform. The .NET Compiler Platform (“Roslyn”) has been open source for a while now, Microsoft is taking .NET open source and cross-platform, and the ASP.NET 5 Runtime is open source and cross-platfo...
Announcing Availability of ASP.NET 5 Beta7
ASP.NET 5 beta7 is now available both on NuGet and as a tooling update to Visual Studio 2015! This release also includes the first public preview of the .NET Execution Environment (DNX) for Mac and Linux based on .NET Core – no Mono required. Let’s take a look at how we can get started with ASP.NET 5 beta7. Installation Note: To use ASP.NET 5 beta7 with Visual Studio 2015, you will need to download and install the beta7 version (14.0.60831.0) of ASP.NET and Web Tools 2015. On Windows download and install the latest ASP.NET and Web Tools updates for Visual Studio 2015. For Mac and Linux follow the instruct...
NuGet Command line and Visual Studio 2015 Extension 3.2 RC released
Today we are releasing nuget.exe 3.2-RC command line. In addition to fixing a significant number of bugs, support has been added for push and list for compliant V3 servers. This wave also includes a release of the visual studio extension version 3.2-RC. This version is about addressing top blocking customer scenarios. The 3.2 RTM release is planned for September, for both nuget.exe and the NuGet extension. Note: We decided to bump the version of nuget.exe (NuGet command line) to 3.2 to match the release of the Visual Studio Extension. Changes Below are the top highlights of this release Command line ...
The future of Unity
This post was written by Christopher Bennage (@bennage), a member of the Microsoft patterns & practices team.A few months ago, we announced that we were handing Prism over to new owners. We put a lot of time and effort into identifying owners that would invest in the project and support the community.Today, we are announcing a similar transition of ownership for Unity.The new owners for Unity are:Pablo Cibraro. Pablo is an internationally recognized expert with over 15 years of experience in designing and implementing large distributed systems with Microsoft technologies. For the last 9 years Pablo has helped...
ASP.NET Community Standup – August 18, 2015
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
Gen2 free list changes in CLR 4.6 GC
I wanted to mention this because I started seeing posts about it. In 4.6 we improved the way we use the gen2 free list to promote gen1 survivors into. Unfortunately there was a perf bug that I didn’t notice till it was fairly late so it wasn’t approved to be checked into 4.6 at the time. Now that I am seeing more people hitting it, I have checked the fix into the next hotfix rollup for 4.6 which you will be able to download when it’s released in the near future (I will update the exact location when it’s available). The symptom for this bug is that you are seeing GC taking a lot longer th...
August 2015 .NET Security Updates
The .NET team released two security bulletins today as part of the monthly "Update Tuesday" cycle. Microsoft Security Bulletin MS15-080 - Critical, Vulnerability in .NET Framework Could Allow Remote Code Execution (3078662) This security update resolves vulnerabilities in Microsoft .NET Framework. The most severe of the vulnerabilities could allow remote code execution if a user opens a specially crafted document or visits an untrusted webpage that contains embedded TrueType or OpenType fonts.This security update is rated Critical for Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET...
NuGet 2 code base moves to GitHub
In the last few months we have constantly moved the issues and all new code base to GitHub. Today we moved the last bits of code from CodePlex to GitHub. We have stopped monitoring the CodePlex site completely, and will not be taking further looks at reports there or pull requests. As we keep working on NuGet 3.1.2 release for Visual Studio 2015 we will also work on 2.8.7 release with bug fixes for Visual Studio 2013. The tip branch we compile nuget.core from is the dev branch, this is a change from master we used in CodePlex. The change it to align this repo with the rest of the repos in nuget.org.
[Guest post] Visual F# Power Tools: community-led tooling for F# in Visual Studio
This is a guest post by Anh-Dung Phan and Vasily Kirichenko, F# community developers and contributors to the superb Visual F# Power Tools extension for Visual Studio. – Visual F# Team We are pleased to tell you about the Visual F# Power Tools, a Visual Studio extension aimed at providing extended tooling for F# in Visual Studio. You can download it today from the Visual Studio gallery. The goal of the extension is to complement the standard Visual Studio F# tooling by adding missing features such as semantic highlighting, rename refactoring, find all references, metadata-as-source, and more. What’s part...
Universal Windows apps in .NET
This post was written by Lucian Wischik, a Program Manager on the Managed Languages team. We just released the Universal Windows app development tools for writing Windows 10 apps in Visual Studio 2015. It is an exciting release: you can now use the latest .NET technology to build Universal Windows Platform ("UWP") apps that run on every Windows device - the phone in your pocket, the tablet or laptop in your bag, the PC on your desk, the Xbox console in your living room, and all the new devices that are being added to the Windows family like HoloLens, Surface Hub, and IoT devices like the Raspberry Pi 2. Install...
Announcing NuGet 3.1 with Support for Universal Windows Platform
Today the NuGet team in collaboration with several other teams at Microsoft is happy to announce the release of a new version of the NuGet clients supporting the Universal Windows Platform and the new Portable class libraries. The NuGet tools are available through Tools->Extensions and Updates->Update tab in Visual Studio 2015 as well as from our GitHub repository. Additionally, we have released a new version of the NuGet command-line tool that you can download from NuGet.org. In this post, we will review the new capabilities that package authors can use and the process that windows programmers need to fol...
RyuJIT Bug Advisory in the .NET Framework 4.6
A code generation (AKA "codegen") issue in RyuJIT in the .NET Framework 4.6 has been discovered that affects a calling pattern called Tail Call Optimization. The RyuJIT team has fixed the issue and has started the process of producing a .NET Framework 4.6 patch that will be freely available for anyone to download and install. There is a workaround for this issue, with the .NET Framework 4.6. It is supported to use this workaround in production to safely avoid this issue. The workaround is enabling a RyuJit config switch to disable tail call optimizations. See the recommendation below, for a detailed explanation ...
.NET Networking APIs for UWP Apps
This post was written by Sidharth Nabar, Program Manager on the Windows networking team. At Build 2015, we announced that .NET Core 5 is the new version of .NET for developers writing Universal Windows Platform (UWP) apps. The set of networking APIs available for developers in .NET Core 5 is an evolution from the set that was available for Windows Store app developers in Windows 8.1 (API reference on MSDN). As was highlighted at Build, porting your apps to .NET Core and UWP enables you to target a wide variety of devices including Xbox, Windows Phone, Windows and HoloLens with the same codebase. Of course, you ca...
Announcing Availability of ASP.NET 5 beta 6
It feels like we just did this… we just announced an ASP.NET release, and here comes another one. The development team has been hard at work right through the release of Visual Studio 2015 to deliver an updated set of packages and tools for you to use with ASP.NET 5. This release, labeled ASP.NET 5 beta 6 contains a handful of new features in the framework and packages. Let’s take a look at how we can get started adding ASP.NET 5 Beta 6 to our Visual Studio 2015 install. Installation For the first time in the ASP.NET 5 beta cycle, we are publishing a new version of the Visual Studio web development tools with ...
ASP.NET Community Standup – July 21, 2015
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
Announcing the RTM of Visual F# 4.0
We are pleased to announce that Visual Studio 2015, and along with it Visual F# 4.0, hit RTM today! Visit the downloads page to install the release build. The F# components in VS 2015 map to commit dd8252eb8d20 in our repo. For an overview of the new language, runtime, and IDE features in Visual F# 4.0, take a look at our earlier blog posts from VS 2015 preview and RC, or review the VS 2015 release notes. For a complete list of bug fixes and changes, see CHANGELOG.md. Thank you to our contributors Visual F# 4.0 marks the first major-version release of the F# language and VS tools to include community contri...
Announcing .NET Framework 4.6
Update: See .NET Framework Releases to learn about newer releases. We’re excited to announce the RTM releases of .NET Framework 4.6 and Visual Studio 2015 today. You can read about the new features or leave that for later and try them out now. The quickest way to get started is to install the free Visual Studio 2015 Community version. With the .NET Framework 4.6, you’ll enjoy better performance with the new 64-bit “RyuJIT” JIT and high DPI support for WPF and Windows Forms. ASP.NET provides HTTP/2 support when running on Windows 10 and has more async task-returning APIs. There are also major updates in Visu...
Announcing ASP.NET 4.6 and ASP.NET 5 beta 5 in Visual Studio 2015 Release
Long time readers of this blog or followers of the ASP.NET Community Standup know that this day was coming, and we have a released version of ASP.NET 4.6 framework and tools with Visual Studio 2015. Not only are we shipping ASP.NET 4.6, but we are also including with Visual Studio 2015 a bundle of ASP.NET 5 beta 5 runtime tools and libraries. There’s a lot of great new features in ASP.NET 4.6 and ASP.NET 5 that you need to know about. Let’s take a closer look at some of the bigger features in this release of Visual Studio. ASP.NET 4.6 – More of the ASP.NET you know and enjoy We are delivering updates to the...
NuGet 3.0 Released
Its been a long journey to this date. We've investigated and tested and released a number of interim builds for developers and package owners to test with the latest Visual Studio bits. The NuGet team is happy to hear all of your feedback about our add-in for Visual Studio and would like to announce the availability of the NuGet 3.0 client with Visual Studio 2015. This update to the NuGet extension comes with Visual Studio 2015 and is avaialble from the Visual Studio extension gallery We are also making available an update to the NuGet extension for Visual Studio 2013, and you can download version 2.8.6 from the ...
Allocating on the stack or the heap?
A recent discussion prompted me to write this blog entry. The question there was “when should I allocate something on the stack vs on the heap?”. I searched around and there are plenty of articles that talk about *what* gets allocated on the stack vs on the heap, but not how you should decide what to allocate on the stack vs heap. It makes sense to understand the implications of allocating on the stack vs on the heap in order to make the right decisions because as with most perf advice, there’s no one rule fits all. Often the right approach is to understand what things mean, then see what conseq...
New version of ASP.NET Merge Tool
The ASP.NET Merge tool (Aspnet_merge.exe) enables you to combine and manage the assemblies that are created by the ASP.NET compilation tool (Aspnet_compiler.exe). It was built on top of a Microsoft Research project, ILMerge, through which Aspnet_merge.exe does IL code merge. What problem does this new version fix? The first version of this tool was released through .Net framework 2.0 SDK, since then we haven’t update the ILMerge part much. As .Net evolved, IL becomes more and more complex and the old ILMerge can’t work correctly in some corner cases. This leads to a CLR failure to load...
First .NET Port Award
Recently, we shared quite a bit how we make progress on our open source journey (Roslyn's First Year of Open Source and .NET Core Open Source Update). We all feel highly privileged to be on the .NET team when all of this awesomeness happens! However, unless you're an active contributor on any of our OSS projects, you probably didn't have the opportunity to experience this first hand. Fortunately, you don't have to take our word for it. Geoff Norton, whom some of you probably know as kangaroo, did a talk at .NET Fringe about his experience on porting CoreCLR to OS X. Community Thanks! You probably noticed that...
First .NET Port Award
Recently, we shared quite a bit how we make progress on our open source journey (Roslyn's First Year of Open Source and .NET Core Open Source Update). We all feel highly privileged to be on the .NET team when all of this awesomeness happens! However, unless you're an active contributor on any of our OSS projects, you probably didn't have the opportunity to experience this first hand. Fortunately, you don't have to take our word for it. Geoff Norton, whom some of you probably know as kangaroo, did a talk at .NET Fringe about his experience on porting CoreCLR to OS X. Community Thanks! You probably noticed that...
First .NET Port Award
Recently, we shared quite a bit how we make progress on our open source journey (Roslyn's First Year of Open Source and .NET Core Open Source Update). We all feel highly privileged to be on the .NET team when all of this awesomeness happens! However, unless you're an active contributor on any of our OSS projects, you probably didn't have the opportunity to experience this first hand. Fortunately, you don't have to take our word for it. Geoff Norton, whom some of you probably know as kangaroo, did a talk at .NET Fringe about his experience on porting CoreCLR to OS X. Community Thanks! You probably noticed ...
ASP.NET Community Standup – July 14, 2015
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
A Glimpse into the future of Web Development Tools
There’s some exciting news for the ASP.NET community this week on the Visual Studio blog that we wanted to take a moment to point out. Nik Molnar and Anthony van der Hoorn, the creators of Glimpse, have joined Microsoft on the Visual Studio team! The ASP.NET team have been fans of Glimpse since we first saw it at the Mix 11 Open Source Fest. It’s a great open source debugging and diagnostics tool. Glimpse is similar to the F12 tools built into browsers, but instead it provides insights into server side concerns like route matching, view rendering and database queries. If you’d like to learn more about Gl...
ASP.NET Community Standup – July 7, 2015
This is the next in a series of blog posts that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video-based discussion with some of the leaders of the ASP.NET development teams covering the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the re...
Thank you for your contributions
Since going open source, Roslyn has had 45 and Visual F# has had 29 unique code contributors external to Microsoft. To celebrate and appreciate our first contributors, we sent them each a small gift in the mail: a mug with the classic “cup of tea” language joke as well as the SHA1 of their first commit engraved on the back of the mug. Over the past six months, some of you have received these small tokens of gratitude and some of you have seen evidence of them on Twitter (#roslyn, #fsharp). Every contribution—no matter how great or small—warranted a fun surprise in the mail. We have been a...
ASP.NET Community Standup – June 30, 2015
This is the first in a series of blog post that will cover the topics discussed in the ASP.NET Community Standup. The community standup is a short video with some of the leaders of the ASP.NET development teams to discuss the accomplishments of the team on the new ASP.NET 5 framework over the previous week. Within 30 minutes, Scott Hanselman, Damian Edwards, Jon Galloway and an occasional guest or two discuss new features and ask for feedback on important decisions being made by the ASP.NET development teams. Each week the standup is hosted live on Google Hangouts and the team publishes the recorded video of...
ASP.NET 5 Beta5 Now Available
This week we released ASP.NET 5 Beta5 as an in-place update to Visual Studio 2015 RC on http://nuget.org! The version that shipped with VS2015RC was Beta4 so you’ll definitely want toget this update. ASP.NET 5 Beta5 is loaded with lots of new features, improvements, and bug fixes. It’s important to remember that there’s the ASP.NET runtime (the bits that run your web apps) and there is the Web Tooling bits for Visual Studio (the bits that give you the HTML and JavaScript editor and the File New Dialog Box). Beta5 is an update to the ASP.NET 5 runtime! Remember that ASP.NET 5 runs on both the ful...
Cool ASP.NET Web Forms Features in 2015 – Async Model Binding
This is the first in a twice weekly series of blog posts that we’re going to share from the Microsoft Web Development blog to showcase some of the really cool and mature features available in ASP.NET Web Forms for developers to use in their projects. Web Forms is the development model that was deployed first with ASP.NET in 2001, and has been improved in every ASP.NET release since. Throughout this series of posts, we will build a sample application to track our travel information. Each update will provide a link to the source code so that you can follow along. In this first post, we’re going to look at the...
NuGet.org server status
For the last few weeks we have experienced a few hours of downtime a few times a week. The NuGet community was very engaged in sharing the issues both on Twitter, support@nuget.org, personal emails, and GitHub. We thank you for that and appreciate your patience. We realize NuGet.org is a center to many of the day to day activities of a .NET developer. It is critical and we are working hard to make it better. We promised to get back to you with an update, here it goes. NuGet.org state - early May 2015. NuGet.org was initially built about four years ago on top of a SQL database and OData services and NuGet.org ...
NuGet 3.0 RC 2 Released
In the month since the Visual Studio 2015 RC release, we have heard from many of you with compliments, complaints, and bug reports. The NuGet team is happy to hear about all of the experiences you've had with our add-in for Visual Studio. The team has been hard at work preparing for the final release of Visual Studio, and would like to issue an update to the Visual Studio extension to ensure that we have ironed out some of the issues you may have run into. You can also get a copy of the extension from Codeplex at https://nuget.codeplex.com/releases/view/615507. Feature Tuning We did not want to add any new feat...
Save the day with a Visual Basic, C#, or F# T-Shirt!
Mads and Dustin showed off these stylish little numbers at BUILD and ever since we've been getting pinged by community members wanting to know where they can get their very own so they too can show their passion for their favorite programming language(s). Who wouldn't want to look this awesome? These were originally team t-shirts from years ago and every time one of us wears one of them out at a talk or a conference without fail you let us know how much you'd love to get your hands on one. Finally Visual Basic MVP Jim Wooley shot me a tweet saying "Just put it on CafePress.com already!". Great idea, Jim! We act...
Application Insights for ASP.NET 5 – you’re in control
ASP.NET 5 apps can now be monitored for performance and usage with Visual Studio Application Insights. The composability of components in ASP.NET 5 makes it very easy to integrate telemetry modules into your app design in a flexible way. With the feedback you get about the performance and effectiveness of your app in the wild, you can make informed choices about the direction of the design in each development lifecycle. ASP.NET 5 is a lean framework for building web and cloud applications. Dependency injection is one of the biggest architectural improvements over previous versions, allowing components to be mu...
May 2015 .NET Security Updates
The .NET team released two security bulletins today as part of the monthly "Update Tuesday" cycle. Microsoft Security Bulletin MS15-044 - Critical, Vulnerability in .NET Framework Could Allow Remote Code Execution (3057110) This security update resolves vulnerabilities in Microsoft .NET Framework. The most severe of the vulnerabilities could allow remote code execution if a user opens a specially crafted document or visits an untrusted webpage that contains embedded TrueType fonts.This security update is rated Critical for Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET Framework 3.5, M...
Targeting the .NET Framework 4.6 RC
Update (2017): See .NET Framework Releases to learn about newer releases. The .NET Framework 4.6 is the latest version of the .NET Framework. The .NET Framework 4.6 exposes new APIs that you can use in your app or library. You can also use it to run existing apps. Using Visual Studio 2015 You can target the .NET Framework 4.6 using Visual Studio 2015. Visual Studio 2015 targets the .NET Framework 4.5.2 by default, since the .NET Framework 4.5.2 has been deployed broadly (globally). Targeting the .NET Framework 4.5.2 is the best choice, unless you specifically need the new APIs in the .NET Framework 4.6. Y...
Updates for ASP.NET 4.6 – Web Forms/ MVC 5/ Web API 2
We released Visual Studio 2015 RC which included ASP.NET 5 Preview. Along with ASP.NET 5 Preview we have also been working on improving ASP.NET 4.6 which includes Web Forms, MVC 5 and Web API 2. This post highlights updates in this area. What is ASP.NET 4.6? ASP.NET 4.6 is an umbrella term used to describe updates existing Frameworks such as ASP.NET Web Forms/ MVC 5/ Web API 2 etc. You can build Web Apps using these Frameworks on the standard, desktop-enabled .NET Framework model. Improvements in ASP.NET 4.6 for Web Forms/ MVC 5/ Web API 2. Apart from working on ASP.NET 5, we are also working on updating Fram...
New ASP.NET Features and Fixes in Visual Studio 2015 RC
Today Scott Hanselman announced the Release Candidate of Visual Studio 2015, Team Foundation Server 2015 and Visual Studio 2013 Update 5. We hope that all //build attendees are enjoying the show, and we are following up on the news of the Visual Studio 2015 Release Candidate to show you some of the cool new features delivered in this version for web developers. With the Visual Studio 2015 release candidate we are delivering updates for ASP.NET 4.6 and our next generation ASP.NET 5 framework. You can read more about ASP.NET 5 online at http://www.asp.net/vnext and review the new open source documentation for...
Rounding out Visual F# 4.0 in VS 2015 RC
Today marks the release of Visual Studio 2015 RC, which includes the latest updates to the Visual F# 4.0 language and tools. Download the RC here, and review the VS release notes here. Back in November, we described the F# 4.0 features that were completed in time for the Visual Studio 2015 Preview build. New features like constructors as first-class functions, simplified mutable/ref values, a normalized collections API, and more were warmly received. We didn’t stop there, though! This post describes the F# 4.0 work that’s been completed since Preview. Together with the features ann...
.NET Announcements at Build 2015
Updated (2017): See .NET Framework Releases to learn about newer releases. Updated (July 2015): See Announcing .NET Framework 4.6 to read about the final version of the .NET Framework 4.6. At the Build conference today, Scott Guthrie announced the .NET Framework 4.6 RC and Visual Studio 2015 RC. He also announced important updates for .NET Windows 10 apps, ASP.NET 5 and .NET Core. You can download and try out the releases now: As a team, we're really excited to share everything we've been working on: We've been working on these releases for a couple years no...
Making It Better: ASP.NET with Visual Basic 14
BASIC is part of the DNA of Microsoft, and we have continued to evolve the language for most of the 40 years of the company’s existence. In the next evolution of the language, Visual Basic 14, there are a number of great features that are being added and we want to make sure that you know we are fully supporting them with ASP.NET in Visual Studio 2015. Let’s take a look at a few samples of how using Visual Basic with ASP.NET 4.6 makes developers more productive and their code more readable. String Interpolation Makes Web Forms Strings Feel like Razor Syntax String formatting with Visual Basic is usua...
April 2015 .NET Security Updates
The .NET team released a security bulletin today as part of the monthly “patch Tuesday” cycle. Microsoft Security Bulletin MS15-041 - Important, Vulnerability in .NET Framework Could Allow Information Disclosure (3048010) This update resolves a vulnerability in the Microsoft .NET Framework that could allow information disclosure if an attacker sends a specially crafted web request to an affected server that has custom error messages disabled. An attacker who successfully exploits the vulnerability would be able to view parts of a web configuration file that could expose sensitive information. ...
ASP.NET Identity 2.2.1
We are releasing ASP.NET Identity 2.2.1. The main focus in this release was to fix issues reported in 2.2.0 release. Download this release You can download ASP.NET Identity from the NuGet gallery. You can install or update these packages using the NuGet Package Manager Console, like this: Install-Package Microsoft.AspNet.Identity.EntityFramework –Version 2.2.1 Install-Package Microsoft.AspNet.Identity.Core -Version 2.2.1 Install-Package Microsoft.AspNet.Identity.OWIN -Version 2.2.1 What’s in this release? The following issues from CodePlex were fixed in this release: Samp...
A Journey Through Open Source: The Trials & Triumphs in Roslyn’s First Year of Open Source
This post is written by Kasey Uhlenhuth a Program Manager on the Managed Languages Team. "I am looking for someone to share in an adventure." — Gandalf, The Hobbit, J.R.R. Tolkien On April 3, 2014, Anders Hejlsberg set us on our open source journey when he made the .NET Compiler Platform (aka “Roslyn”) source code public live on stage in San Francisco. Without much open source experience to guide us (or a Grey Wizard), we anxiously yet excitedly hit the open roads. This post details the real and true story of the trials and triumphs we’ve experienced in Roslyn’s first year of open source. The Ca...
NuGet 2.8.5 Released
In the last few weeks we saw a significant change in the NuGet ecosystem with the renaming of the K utilities and framework monikers to DNX. To support that change and provide backwards compatibility for existing versions of Visual Studio, we are publishing an update to NuGet extensions for Visual Studio 2010, 2012, and 2013. This update does not work with Visual Studio 2015 and is an update for existing 2.x NuGet extensions only. A copy of the release notes are available online. Download the NuGet 2.8.5 update now Framework Monikers Added To allow packages that also target older versions of the .NET framework...
Introducing Azure API Apps
As part of the Azure SDK 2.5.1 release, a new feature called Azure API Apps were included. This new feature raises the capabilities of ASP.NET Web API, extending it with Swagger metadata while providing a simple to manage interface in the Azure Portal. Extend your API with authentication and no code changes, or generate an SDK for your API with a few clicks. A full definition of API Apps and their capabilities is available in the online Azure documentation. Video coverage of the API Apps announcement with Scott Guthrie is available online: Let’s take a quick look at some concepts, with links to more informati...
Prism grows up
It's been over seven years since the Prism project started, led by the patterns & practices team. It was originally known as the Composite Application Library. Last year, we celebrated our 5th official release of Prism. The two major focuses of that release were: composability and ease of community contribution. From the beginning, Prism has had a strong community focus. This hasn't simply been a matter of surveys and user studies, but frequent discussions and regular code reviews with community members and industry experts. Now it's time to take Prism to the next level. We are very pleased to announce that...
Prism grows up
It's been over seven years since the Prism project started, led by the patterns & practices team. It was originally known as the Composite Application Library. Last year, we celebrated our 5th official release of Prism. The two major focuses of that release were: composability and ease of community contribution. From the beginning, Prism has had a strong community focus. This hasn't simply been a matter of surveys and user studies, but frequent discussions and regular code reviews with community members and industry experts. Now it's time to take Prism to the next level. We are very pleased to announce ...
Prism grows up
It's been over seven years since the Prism project started, led by the patterns & practices team. It was originally known as the Composite Application Library. Last year, we celebrated our 5th official release of Prism. The two major focuses of that release were: composability and ease of community contribution. From the beginning, Prism has had a strong community focus. This hasn't simply been a matter of surveys and user studies, but frequent discussions and regular code reviews with community members and industry experts. Now it's time to take Prism to the next level. We are very pleased to announce ...
Customize external web tools in Visual Studio 2015
Visual Studio 2015 ships with multiple open source command line tools that are used in modern web development workflows. Those tools are: All of these tools are shipped as part of Visual Studio but are not installed in the same way as you would install them manually. They are all located in the Visual Studio install directory and are used by some of the new features such as the Task Runner Explorer and the new ASP.NET 5 project system. If you manually install any of these tools, then there will likely be a difference in the versions between what Visual Studio is using and what you are using from the comman...
MSBuild Engine is now Open Source on GitHub
Today we are pleased to announce that MSBuild is now available on GitHub and we are contributing it to the .NET Foundation! The Microsoft Build Engine (MSBuild) is a platform for building applications. By invoking msbuild.exe on your project or solution file, you can orchestrate and build products in environments where Visual Studio isn't installed. For instance, MSBuild is used to build the .NET Core Libraries and .NET Core Runtime open source projects. The MSBuild sources we're publishing today are closely aligned with the version we will ship with Visual Studio 2015. You may notice a few differences as this i...
dotnetConf is back, this Wednesday
dotnetConf is a free, 2 day virtual event co-organized by the .NET community and Microsoft, and it’s this Wednesday! As you can guess by its name, it’s dedicated to your favorite development platform, .NET. Grab a comfortable chair, a pot of your favorite hot (or cold) beverage and a mind to fill with all the latest .NET product and community news. The dotnetConf team has been planning the event for a few months now. We’ve got a great show ready for you. Two Days of Talks This is the 3rd dotnetConf. This time around, we’re using a two-day thematic format, on March 18th and 19th. Check out the dotnetConf agend...
Welcome Back! – The AJAX Control Toolkit March 2015 Update
Welcome Back! - The AJAX Control Toolkit March 2015 Update Its been 15 months since a significant update was released for the AJAX Control Toolkit on CodePlex. In the time since then, our friends at DevExpress have stepped up and offered to lead this open source project. In just a few short months, they have implemented a number of modern and strategic changes to the toolkit to help make it a valuable part of your ASP.NET Web Forms arsenal. This release is branded as version 15.1 and is available NOW from http://devexpress.com/ms-act DevExpress has written a great post highlighting the updates they've made to t...
Updates to ASP.NET 5 yeoman generators for beta 3
Hi everyone, the blog post below is written by Shayne Boyer, who is a community member that has been working on the ASP.NET 5 yeoman generators. I hope you enjoy it. - Sayed With the most recent version of Visual Studio 2015 CTP, CTP 6 this past Monday, there were some great improvements not only in the IDE but also ASP.NET 5. See the article here from Jeff Fritz, or Introducing ASP.NET 5 on Scott Guthrie’s blog, for even more. We have updated the ASP.NET 5 yeoman generators to have the latest content based on ASP.NET 5 beta 3. For more info on getting started with the generators see the two previous blog p...
.NET Core Open Source Update – February 26, 2015
It has been a couple weeks since we last reported on the .NET Core open source project. It's been a very fun time, watching more people get involved in the project and to see progress on a daily basis. It's amazing watching my GitHub news feed. I have to scroll through several page views just to get through the last hour (on a weekday) of corefx, coreclr and roslyn repo activity. Today, we're going to focus on the CoreCLR repo. In addition to the growing community activity, there have been important product improvements that have been committed. Some of the key changes are coming from the community. That's very i...
NuGet 3.0 Beta 2 Released
That was a quick turn-around... we issued our 3.0 beta just a few days ago and our community of developers and supporters quickly found a number of issues with it. Thank you to the early reporters on Twitter and on this blog for helping us to identify those issues. We would like to issue an update to our Visual Studio extension to correct some of the stickier problems that were identified. You can also get a copy of the extension from Codeplex at http://nuget.codeplex.com/downloads/get/1432773. Fixes Addressed Our new protocol delivers NuGet package data in JSON format from the nuget.org server. One issue we ra...
Identity Updates for Web Developers in Visual Studio 2015 CTP6
As anticipated in Monday’s announcement, the CTP release of Visual Studio 2015 brings lots of interesting news to identityland – both in the IDE and in the form of libraries we released on NuGet at the same time. The features are still in preview (some of them, very much so ) but at this point you should be able to start getting a taste of what the product will look like in its final form. In this post I am going to highlight the most interesting identity features you might want to experiment with. New ASP.NET 4.6 Project Templates and Tools (for the ones of you not keeping track, ASP.NET 4.6 == A...
ASP.NET 5 Updates and other improvements for Web Developers in Visual Studio 2015 CTP 6
It's time for another Visual Studio 2015 CTP, and with the CTP 6 release in February 2015 you should find a number of improvements that every web developer will enjoy. In this article we'll review the new features and improvements in ASP.NET 5 and the Visual Studio editor improvements delivered in CTP 6. For a complete list of the ASP.NET 5 runtime improvements check out the release notes on GitHub at https://github.com/aspnet/Home/releases/tag/v1.0.0-beta3. You can download the new Visual Studio CTP 6 from VisualStudio.com. New Project Templates We've organized the New ASP.NET Project dialog a bit....
NuGet 3.0 Beta Released
Its time for the 3.0 beta release for NuGet, and this time we have some much sought-after enhancements in the works for you. You can get access to the update NuGet binaries on Codeplex and through the Visual Studio extension manager. We are only releasing these preview bits for Visual Studio 2013 (on CodePlex only) and for Visual Studio 2015. We are releasing the Visual Studio 2013 version on Codeplex so that we don't accidentally deliver a preview extension version into a production development environment. We will be delivering a new version of the extension for Visual Studio 2012 in the near future. We stron...
Open sourcing and releasing ASP.NET Identity 2.2.0
We are releasing the final version of ASP.NET Identity 2.2. The main focus in this release was to fix bugs and address performance issues. Open source We have also made the source code publicly available on aspnetidentity.codeplex.com and will be taking contributions to the project. Check out the project home page for more details. Note: This is the source code for ASP.NET Identity 2.2. ASP.NET Identity 3.0 is part of ASP.NET 5 and the source code is on GitHub. Download this release You can download ASP.NET Identity from the NuGet gallery. You can install or update these packages using the NuGet Package Mana...
Improve performance by optimizing queries for ASP.NET Identity and other Membership Providers
If your application is using ASP.NET Identity or other membership systems such as SQL, Universal or Simple membership, then you might be running into the following issue. If you are using ASP.NET Identity 2.x, the query for getting profile values (among other things) uses the UPPER() function on Username - this causes any indexes on username to be ignored. The workaround is to add a computed column with the call to UPPER(Username) and a database index over it. This is extremely effective in improving the performance and it does not require any changes to the application or updating ASP.NET Identity Framework. ...
ASP.NET MVC 5.2.3, Web Pages 3.2.3 and Web API 5.2.3 Release
While the MVC team is working hard on MVC 6 as part of the ASP.NET 5 effort, we also keep working on the 5.x packages. Today we are releasing ASP.NET MVC 5.2.3, Web Pages 5.2.3 and Web API 5.2.3. This release addresses 13 issues. Here is the full list. Highlight of issues fixed Web API Issues 2092 Significant performance improvement in the default overload for System.Net.HttpFormatting.ReadAsAsync by caching the default JSON formatter. This can result in improvements of 100s of milliseconds on the second call to ReadAsAsync (or similarly to the write method). 2103 Batch's inner request's Url not being decode...
Automatic code formatter released to GitHub
Code formatting can be a huge pain point. In this post, Jared Parsons, software developer on the Roslyn team, showcases a tool that takes care of it. We have just released the code formatting tool we use to automatically format our code to the prescribed coding guidelines. This tool is based on Roslyn and will work on any C# project. We strongly believe that having a consistent style greatly increases the readability and maintainability of a code base. The individual style decisions themselves are subjective, the key is the consistency of the decisions. As such the .NET team has a set of style guidelines for all...
Introducing the Visual Studio 2015 Extension for ASP.NET Project Templates
In Visual Studio 2013, there were a handful of templates that supported developing ASP.NET projects with various frameworks and data structures. Some of those project templates from the Visual Studio 2012 era have been removed from the Visual Studio 2015 install and added to the Visual Studio Extension gallery as the ASP.NET Project Templates extension for Visual Studio 2015. This was primarily done for the following reasons: What templates are included? What about other templates from VS 2013? All the other templates from VS 2013 are still part of VS 2015. You can create ASP....
Debugging ASP.NET 5 framework code using Visual Studio 2015
In the previous versions of ASP.NET it was possible to debug certain parts of the framework stack but setting up the development environment and compiling all the binaries was not the easiest task. ASP.NET 5 changes that and makes debugging framework code as easy as debugging your own application. This article shows how to debug into the ASP.NET 5 framework code using Visual Studio 2015. Before getting into the How-To part, there is one limitation that you have to understand: you must not mix different versions of the runtime and/or packages. Trying to debug the latest MVC packages using an old runtime might be ...
CoreCLR is now Open Source
We’re excited to announce that CoreCLR is now open source on GitHub. CoreCLR is the .NET execution engine in .NET Core, performing functions such as garbage collection and compilation to machine code. .NET Core is a modular implementation of .NET that can be used as the base stack for a wide variety of scenarios, today scaling from console utilities to web apps in the cloud. To learn how .NET Core differs from the .NET Framework, take a look at the Introducing .NET Core blog post. You can check out the CoreCLR sources, fork, clone and build. We have released the complete and up-to-date CoreCLR implementation, ...
Package Signing
Package signing has been a major discussion point for a long time in the NuGet ecosystem. However, the NuGet Team didn't want to rush into an implementation and end up creating something that restricted the ecosystem unnecessarily. Well, we now think we are ready to begin a process to introduce Package Signing, and we want to share our plans with the community so you can see what we're thinking and give us feedback. Goals Up until now, the transfer of packages was secured from NuGet.org down to your machine, and from publisher's machines up to NuGet.org using TLS/SSL. This has served us fairly well so far, but ...
New Task APIs in .NET 4.6
There are several nice API-level enhancements to the Task Parallel Library in .NET 4.6, which you can grab a preview of as part of the Visual Studio 2015 CTP. Task.From* .NET 4.5 had a Task.FromResult method. This method makes it quick and easy to manufacture a new Task for a known result value, and is particularly useful when implementing a Task-returning method to complete synchronously. However, Task didn't expose corresponding methods for creating canceled or faulted tasks; instead, developers needed to manually create such tasks, such as by using a TaskCompletionSource, e.g. public static Task<TResult...
.NET Core Open Source Update
Wow. Just wow. I don’t know of a better way to describe my feelings right now. Open source is probably one of the most energizing projects our team has been working on. It’s been a blast so far and the stream of enthusiastic contributors and interactions doesn’t seem to stop any time soon. In this post, I want to give you a long overdue update on where we are, interesting changes we made, and give an overview of what’s coming next. Read to the end, this is a post you don’t want to miss. A good problem to have: Too many forks to display In the first update on open source I hinted at the fact that we’ve severa...
Making It Better: Updates for ASP.NET 5 in Visual Studio 2015 CTP 5
It's been about two months since we released the first beta of ASP.NET 5, and today we happy to announce that ASP.NET 5 Beta2 is available. For developers using Visual Studio, you'll find great new tools to support and enhance your development process. All ASP.NET developers will be able to take advantage of a new runtime and many product quality improvements. You can download and install Visual Studio 2015 CTP5 by following the link at the top of the http://asp.net/vnext page. If you want to try ASP.NET 5 with an alternate editor or on Mac or Linux, just follow the instructions on our ASP.NET GitHub...
Running ASP.NET 5 applications in Linux Containers with Docker
As a part of our ASP.NET 5 cross-platform efforts, we are actively working on making applications written in ASP.NET 5 easy to deploy and ship on Linux and Mac OS X. A while ago, we have released the first official Docker image by Microsoft: the ASP.NET 5 Preview Docker Image. Docker is an open source project that makes it easier to run applications in sandboxed application containers on Linux. With the ASP.NET 5 Docker image, you can get a base image where the ASP.NET 5 bits are already installed to run on Linux for you. All you need to do is add your application to the image and ship it so it will run in ...
API review process for .NET Core
Happy new year! Three weeks ago we published a proposal for an API review process on GitHub and asked for your feedback. The process is now in-place and documented in our developer wiki. Review process Our primary goal with this review process is to provide a good balance between OSS agility and ensuring high quality APIs. This requires having a centralized body that can continue to review each and every API. Here is how we approached defining the process: GitHub is generally based around the pull-request model. The idea is that contributors perform their changes in their own fork and submit ...
GC ETW Events – 4
GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 GC ETW Events - Part 3 GC ETW Events - Part 4 (this post) Processing GC ETW Events Programmatically with the GLAD Library So you thought it was over, eh? But wait, there is more! My vacation is not over yet! 😀 In the last blog entry I explained the Suspend MSec and the Pause MSec columns in GCStats and how they are calculated. In this entry I’d like to talk about a few other columns. GenX MB, GenX Surival Rate % and GenX Frag % First of all, these are calculated at the end of a GC. The GenX MB column includes the fragmentation in that genera...
GC ETW Events – 3
GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 GC ETW Events - Part 3 (this post) GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library In the last blog entry we looked at a particular GC trigger reason – InducedNotForced GCs. There are 2 other triggered reasons for induced GCs are: InducedLowMemory – GC subscribes to the low memory notification from the OS and when the OS notifies us that “the memory is low on the machine” a GC is induced; or if this is a hosted process and the host indicates we are low on memory, we also induce a GC. I...
GC ETW events – 2
GC ETW series - GC ETW Events - Part 1 GC ETW Events - Part 2 (this post) GC ETW Events - Part 3 GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library Before we continue from where we left off in the last blog entry I wanted to give a performance tip on managed memory analysis. As some of you who have already tried out Perfview you probably noticed it has a Heap Snapshot feature (in the PerfView UI, if you click on Memory\Take Heap Snapshot) which displays you the snapshot of the managed heap, ie, types in the heap and how many instances there are of each type and ho...
GC ETW events – 1
GC ETW series - GC ETW Events - Part 1 (this post) GC ETW Events - Part 2 GC ETW Events - Part 3 GC ETW Events - Part 4 Processing GC ETW Events Programmatically with the GLAD Library A lot of people have mentioned to me that I have not posted anything for a long time. I do realize it and do appreciate being asked to write more. Well, it's end of year and I am starting vacation so I thought I'd write something light that perhaps makes good reading around Christmas time :) Perf counters vs ETW events Perf counters and ETW events, like anything else, each have their pros and cons. In my Defrag To...
Yeoman generators for ASP.NET 5
Hi everyone, this post is in my name but it’s authored by Sourabh Shirhatti. He was a **Program Manager Intern **from the University of Texas at Austin that I’ve had the pleasure of working with this summer. This post is long overdue, we should have posted this a while back. Better late than never :) Building complex modern web applications used to be difficult because of the lack of tooling to maintain and develop client-side code. Recent Open Source projects have made it easier to manage complex client-side code. Writing Coffeescript/Typescript has made Javascript more manageable. Likewise, SASS/LESS have...
ASP.NET MVC 5.2.3, Web Pages 3.2.3 and Web API 5.2.3 Beta releases
While the MVC team is working hard on MVC 6 as part of the ASP.NET 5 effort, we also keep working on the 5.x packages. Today we are releasing a Beta of ASP.NET MVC 5.2.3, Web Pages 5.2.3 and Web API 5.2.3.This preview release addresses 12 issues. Here is the full list.Highlight of issues fixedWeb API Issues2092 Significant performance improvement in the default overload for System.Net.HttpFormatting.ReadAsAsync by caching the default JSON formatter. This can result in improvements of 100s of milliseconds on the second call to ReadAsAsync (or similarly to the write method).2103 Batch's inner request's Url not bein...
The Changelog interview on open sourcing .NET
We recently talked to Adam and Jared at The Changelog about open sourcing .NET Core. Check out the show. #134: Open Sourcing .NET Core with the Microsoft .NET team Here's the introduction from The Changelog: This week, we have members from .NET core team at Microsoft on the show to discuss Microsoft’s motivation for open sourcing the base class libraries of .NET, open source vs source open, the true goal of open sourcing .NET Core, and more. “As far as open source goes, one of the key things that we need to focus on is being able to not just release source, but also take contributions bac...
Channel 9 interview on open sourcing .NET
Curious to where we are with open sourcing .NET Core? Do you want to know which libraries are next? Interested in a white boarding session with David Kean? Then you should check out this video on Channel 9: Questions or concerns? Leave a comment on the Channel 9 post.
Introducing .NET Core
At connect(), we announced that .NET Core will be entirely released as open source software. I also promised to follow up with more details on .NET Core. In this post, I’ll provide an overview of .NET Core, how we’re going to release it, how it relates to the .NET Framework, and what this means for cross-platform and open source development. Looking back – motivating .NET Core First let’s look back to understand how the .NET platform was packaged in the past. This helps to motivate some of the decisions and ideas that resulted in the creation of .NET Core. .NET – a set of verticals When we originally shipped ...
Introducing the NuGet PowerShell Commands Survey
You've probably seen the cool announcements from Microsoft about the new Community Edition of Visual Studio and the upcoming Visual Studio 2015 release in the new year. We at the NuGet team have been ramping up our tools to support the new Visual Studio with a better visual experience and a better command-line experience. We've also released some information about our upcoming v3 release of our protocol based on JSON-LD. Now we want to do something to stay true to the open-source license of our tool. We want to ask you for your input about our PowerShell capabilities. We will review all feedback and make decisio...
Advisory Council Proposal — Call for Community Feedback Extended to December 5th
This is a cross post from the .NET Foundation blog and written by Gianugo Rabellino. --ImmoThe increased openness of .NET has sparked widespread interest in the .NET Foundation. As a result, its Board of Directors has decided to extend the timeframe for community feedback on the .NET Foundation Advisory Council to December, 5, 2014. The Advisory Council will bring unique knowledge and skills to complement our Board to more effectively govern the organization. The community has already helped shape the role of the Foundation – a new organization that already includes more than 30 projects across t...
Content negotiation in MVC 6 (or how can I just write JSON)
[Update] - We decided to make two significant changes starting with Beta3, we are to not include the XML formatter by default, as well as special treat browsers. The content below is still relevant up to MVC 6 Beta2.IntroIn this blog, I intend to provide a simplified how-things-work and how-to-change-the-behavior. It is not intended as a deep dive into content negotiation.Since Web API 1 controller code can return an object of an arbitrary type and the framework will send it as JSON or XML to the client. The process of picking the output format is called “content negotiation”. The basic rules can be d...
One Week of Open Source
Last Wednesday, we announced the new .NET 2015 Preview and our plans to fully open source .NET Core. What an awesome week! Thank you! We knew that you guys would really dig open source but we didn’t expect such a positive response. Within a single week, our open source blog post got more than 200k views! And even on GitHub, which seems to be the place for open source these days, .NET Core jumped at the top of the trending GitHub repositories for last week. We also have seen a tremendous activity in our social channels, specifically Twitter, blog comments and our Facebook site. I’ve seen very few ...
Katana, ASP.NET 5, and bridging the gap
This post is for developers that have been using the Microsoft Owin components (e.g. the Katana project) and want to know how it relates to ASP.NET 5.As discussed in Katana’s roadmap, the next major version of Katana is being fully integrated into ASP.NET 5. This integration has resulted in several changes that make Katana v3.0 based components not directly compatible with 5. Developers and consumers of v3.0 based components may choose to fully migrate their components or use OWIN to help bridge the gap.MigrateDevelopers may choose to update their components to integrate directly with ASP.NET 5. ASP.NET 5 b...
.NET Core is Open Source
Today is a huge day for .NET! We’re happy to announce that .NET Core will be open source, including the runtime as well as the framework libraries. This is a natural progression of our open source efforts, which already covers the managed compilers (C#, VB, and F#) as well as ASP.NET: This takes it to the next level by extending it to the .NET runtime and the core framework. What is .NET Core? .NET Core is a modular development stack that is the foundation of all future .NET platforms It’s already used by ASP.NET 5 and .NET Native. I’ll go into more detail on what NET Core ...
The Roadmap for WPF
When we introduced WPF back in 2006 (.NET 3.0), the response was absolutely phenomenal. Enterprises, ISV’s, and Microsoft Partners have made the technology central to their business, building amazing vertical solutions and mission critical applications for their customers. This momentum carries forward to today – 10% of all newly created projects in Visual Studio 2013 over the past 60 days are WPF. WPF has amassed a passionate, vibrant, community that uses it to build data-centric desktop business applications on Windows. A recent example of this would be a new WPF application that was developed by our partners a...