Skip to main content

Posts

Showing posts from May, 2020

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 use the “light bulb” to expand and interact with the Suggested Actions UI.   We’d like to know, what else would you like to see in WPF or UWP XAML Designer. Please take this survey and tell us how we can improve Visual Studio and create better tools for you! Take the survey!  Related post Improvements to XAML tooling in Visual Studio 2019 version 16.7 Preview 1 T

Continuous integration workflow template for .NET Core desktop apps with GitHub Actions

We know how time consuming it can be to quickly set up continuous integration and continuous deployment workflows (CI/CD) for your WPF and Windows Forms desktop applications. That’s why, in cooperation with the GitHub Actions team, we have released a starter workflow in GitHub to help you quickly set up and 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. Integrate code changes directly into GitHub to speed up development cycles Trigger builds to quickly identify build breaks and create testable debug builds Continuously run tests to identify and eliminate bugs Automatically sign, package and deploy branches that pass tests The starter workflow template can be added directly to your project in a few simple steps, and with minimal configuration, allowing you to quickly set up a DevOps workflow in GitHub. Like the  .NET Core starter workflow templa

Announcing Experimental Mobile Blazor Bindings May update

It’s been a few months so it’s time for another update of Experimental Mobile Blazor Bindings! This release brings several bug fixes in the areas of CSS styling support, adding XML doc comments to common APIs, and several syntax improvements to common controls. Here are the major changes in this release: Update to latest native mobile component versions in Xamarin.Forms 4.5 and add doc comments #96 , #110 , #111 Improve Label and Button syntax #87 , #27 Fix CSS support for iOS apps #109 Breaking change: Use space-separated CSS classes instead of comma-separated #100 Get started To get started with Experimental Mobile Blazor Bindings preview 3, install the .NET Core 3.1 SDK and then run the following command: dotnet new -i Microsoft.MobileBlazorBindings.Templates::0.3.26-preview And then create your first project by running this command: dotnet new mobileblazorbindings -o MyApp That’s it! You can find additional docs and tutorials on https://docs.microsoft.com/mobile-blazo

Introducing YARP Preview 1

Introducing YARP Preview 1 YARP is a project to create a reverse proxy server. It started when we noticed a pattern of questions from internal teams at Microsoft who were either building a reverse proxy for their service or had been asking about APIs and technology for building one, so we decided to get them all together to work on a common solution, which has become YARP. YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET. The key differentiator for YARP is that it is being designed to be easily customized and tweaked to match the specific needs of each deployment scenario. YARP plugs into the ASP.NET pipeline for handling incoming requests, and then has its own sub-pipeline for performing the steps to proxy the requests to backend servers. Customers can add additional modules, or replace stock modules as needed. With the basic infrastructure of the proxy now in place, we’ve produced the first official build of YA

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, sometimes steep, learning curve to get your distributed app onto a platform such as Kubernetes. The project has two main goals: Making development of microservices easier by: Running many services with one command Using dependencies in containers Discovering addresses of other services using simple conventions Automating deployment of .NET applications to Kubernetes by: Auto

Using Visual Studio Codespaces with .NET Core

What a time to be a .NET developer!  Lots of great announcements at Build, new releases for .NET Core and new preview projects for cloud native development make me excited to be a .NET developer! One of the new capabilities we announced at Build was the ability to use Visual Studio 2019 with Codespaces .  Visual Studio Codespaces is an online development environment that allows you to develop entirely in the cloud.  We want all of you to be able to try it out and encourage you to sign up for the private preview we have going right now.  Go ahead and head over and sign up for early access .  It’s okay, I’ll wait. Okay, signed up for the early access?  Great, now let me tell you what the .NET team has been working on to enable .NET Core development in Codespaces.  We have initially focused our efforts on enabling the core editing, testing, debugging inner loop for .NET Core application types of class libraries, console apps, and web apps (including Web API).  At the time of this writin

Welcome to C# 9.0

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 format for creating an object, and they are especially great for nested object creation where a whole tree of objects is created in one go. Here’s a simple one: new Person { FirstName = "Scott", LastName = "Hunter" } Object initializers also free the type author from writing a lot of construction boilerplate – all they have to do is write some properties! public class Person { public string FirstName { get; set; } public string LastName { get; set; }

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: Install the latest .NET 5 preview SDK Install Jupyter Notebooks for .NET 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 LangVersion property with preview as the value. It should look somethin