Improve Your Model’s Performance and Accuracy with ML.NET’s New Update

No Comments »

Automated Machine Learning (AutoML) is one of the fascinating subfields of Data Science right now. It sounds fantastic for those who are unfamiliar with machine learning, but it concerns present Data Scientists a lot. The media presentation of AutoML suggests that the technology has the potential to drastically transform the way we produce models by removing the need for Data Scientists. In principle, utilizing AutoML to automate the process entirely is a brilliant idea, but it introduces several opportunities for bias and misunderstanding in practice. Machine learning model training can be a time-consuming process. Automated Machine Learning (AutoML) makes identifying the best strategy for your circumstance and dataset easier.

ML.NET is an open-source, cross-platform machine learning framework for .NET developers that allows custom machine learning to be integrated into .NET applications. Microsoft changed the AutoML implementation in its Model Builder and ML.NET CLI tools based on Microsoft Research’s Neural Network Intelligence (NNI) and Fast and Lightweight AutoML (FLAML) technology last year.

New AutoML Updates

Training machine learning models is a time-consuming and iterative task. Automated Machine Learning (AutoML) automates that process by making it easier to find the best algorithm for your scenario and dataset. AutoML is the backend that powers the training experiences in Model Builder and the ML.NET CLI. Last year we announced updates to the AutoML implementation in our Model Builder and ML.NET CLI tools based Neural Network Intelligence (NNI) and Fast and Lightweight AutoML (FLAML) technologies from Microsoft Research. These updates provided a few benefits and improvements over the previous solution which include:

  • Increase in the number of models explored.
  • Improved time-out error rate.
  • Improved performance metrics (for example, accuracy and R-squared).

The Experiment API

An experiment is a collection of training runs or trials. Each trial produces information about itself such as:

Evaluation metrics: The metrics used to assess the predictive capabilities of a model.

Pipeline: The algorithm and hyperparameters used to train a model.The experiment API includes a set of AutoML defaults, making it easier to add to a training pipeline. The dataPrepPipeline in this code snippet is a sequence of transforms to get the data into the proper format for training. The AutoML components required to train a regression model are added to that pipeline.

The same idea holds for other supported cases, such as categorization. When building an experiment using the training pipeline, one may choose the length of the training, the training and validation sets, and the evaluation measure they are optimizing. After setting up the pipeline and experiment, call the Run function to begin training.

// Configure AutoML pipeline
var experimentPipeline =    
    dataPrepPipeline
        .Append(mlContext.Auto().Regression(labelColumnName: "fare_amount"));

// Configure experiment
var experiment = mlContext.Auto().CreateExperiment()
                   .SetPipeline(experimentPipeline)
                   .SetTrainingTimeInSeconds(50)
                   .SetDataset(trainTestSplit.TrainSet, validateTestSplit.TrainSet)
                   .SetEvaluateMetric(RegressionMetric.RSquared, "fare_amount", "Score");

// Run experiment
var result = await experiment.Run();

In this code snippet, the dataPrepPipeline is the series of transforms to get the data into the right format for training. The AutoML components to train a regression model are appended onto that pipeline. The same concept applies for other supported scenarios like classification.

What’s next for ML.NET?

We’re actively working towards the areas outlined in our roadmap.

Deep Learning

A few months ago we shared our plan for deep learning. A significant portion of that plan revolves around improving ONNX experiences for consumption and enabling new scenarios through TorchSharp, A .NET library that provides access to the library that powers PyTorch. Some of the progress we’ve made towards this plan includes:

Enabled global GPU flags for ONNX inferencing. Prior to this update, when you wanted to use the GPU for inferencing with ONNX models, the FallbackToCpu and GpuDeviceId flags in the ApplyOnnxModel transform were not saved as part of the pipeline. As a result, you had to fit the pipeline every time. We’ve made these flags accessible as part of the MLContext so you can save them as part of your model.

TorchSharp targets .NET Standard. TorchSharp originally targeted .NET 5. As part of our work in enabling TorchSharp integrations into ML.NET, we’ve updated TorchSharp to target .NET Standard.

We’re excited to share with you the progress we’ve made integrating TorchSharp with ML.NET in the coming weeks. Stay tuned for the blog post.

.NET DataFrame

Clean and representative data improves the performance of the model. As a result, data analysis, cleansing, and preparation for training is a crucial stage in the machine learning workflow. A few years back, we introduced the DataFrame type to.NET as a preview in Microsoft.Data.Analysis NuGet package. The DataFrame is still in preview. as it is very important for someone to have the tools to perform data cleaning and processing tasks and have started to organize and prioritize feedback, they address existing stability and developer experience pain points. The feedback is being organized as part of a GitHub issue.

MLOps

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. We’re constantly evaluating ways to improve this experience with ML.NET.

Recently we published a blog post that guides you through the process of setting up Azure Machine Learning Datasets, training an ML.NET model using the ML.NET CLI and configuring a retraining pipeline with Azure Devops. For more details, check out the post Train an ML.NET model in Azure ML.

Conclusion

Machine Learning Operations (MLOps) is a machine learning lifecycle equivalent to DevOps. It comprises features such as model deployment and administration and data tracking, which aids in producing machine learning models. Microsoft continually strives for ways to improve the ML .NET experience. These are some updates brought in by Microsoft ib their ML .NET framework, which will help developers better their workflow.

Intro to C# Game Development

No Comments »

.NET is a cross-platform and open-sourced developer platform for building different types of applications. The tech-giant Microsoft developed it. It’s also designed for new developers trying to learn how to use .NET by making games. Here we will discuss why and what are the benefits of using .NET in game development. We will also talk about the different game engines in .NET and its tools, which make .NET a perfect choice for developing games. .NET is also part of Microsoft Game Stack, a comprehensive suite of tools and services just for game development.

Why use .NET in game development?

The major plus for .NET is that it is a cross-platform, a single code base can be used on different operating systems, be it Windows, MAC, or Linux. So developing a game in .NET means it is compatible with all these platforms.

.NET works seamlessly with game engines like Monogame and Unity, and many more. You can create incredible 2D and 3D games using these. Game engines and framework developers are using .NET to ensure secure cross-platform scripting for multiple gaming platforms. Another significant advantage is developing your game and its mobile application, website, and other online services using the same platform. So why not use .NET in game development.

What is a Game Engine?

Not so long ago, developers used to make their games from scratch, but now they have made a lot of reusable code in their games and have made APIs and tools they can reuse for each game. So whenever a developer is developing a new game, they can make use of all these.

A game engine is a software development environment designed to build video games. They contain abstraction of graphics, input, and media API. And also, asset managers and design tools for audio and visuals.

With the increasing popularity of C#, more engines are now being used .NET. The mono runtime compatible with .NET 5 can run C# code on many platforms like Android, iOS, Mac, etc. It is one of the main reasons for using .NET in game development.

Available game engines

The first step to developing games in .NET is to choose a game engine. You can think of engines as the frameworks and tools you use for developing your game. There are many game engines that use .NET and they differ widely.

Stride

It was developed by Silicon Studios, an utterly integrated engine with a graphic editor. It is a complete C# and .NET engine which is open-source and royalty-free. Another advantage is you can use parts of these engines independently

Mono Game

Mono Game is a very flexible engine; other game engines even use this as their base. FlatRedBall is an example of this. It can be used as a framework to build other game engines. Many game developers use it for their cross-platform game development.

Wave Engine

Another game engine that is fully developed in .NET is WaveEngine. It has a lot of reality features like spatial audio and ready to use out of the box. It has many of its components open-sourced and free.

NeoAxis

NeoAxis is yet another game engine written purely in .NET. It is also free and open-sourced. It supports a whole lot of features like the latest Android release

Online services for your game

If you’re building your game with .NET, then you have many choices on how to build your online game services. You can use ready-to-use services like Microsoft Azure PlayFab. You can also build from scratch on Microsoft Azure. .NET also runs on multiple operating systems, clouds, and services, it doesn’t limit you to use Microsoft’s platforms.

The ecosystem

The .NET game development ecosystem is rich. Some of the .NET game engines depend on foundational work done by the open-source community to create managed graphics APIs like SharpDX, SharpVulkan, Vulkan.NET, and Veldrid. Xamarin also enables using platform native features on iOS and Android. Beyond the .NET community, each game engine also has their own community and user groups you can join and interact with. .NET is an open-source platform with over 60,000+ contributors. It’s free and a solid stable base for all your current and future game development needs.

Rich set of .NET tools

.NET is vibrant in terms of game development tools. As it is an open-source platform with a rich community of developers and users. Most of the .NET engines also depend on the base of other open-source work. In addition to the community of .NET developers, each of these game engines also has a different user base. They need different kinds of tools according to their needs and .Net has a variety of tools to help them. .NET tools you are used to are also used for making games. Visual Studio is a great IDE that works with all .NET game engines on Windows and macOS. It provides word-class debugging, AI-assisted code completion, code refactoring, and cleanup. It works seamlessly with all of the game engines. In addition, it provides real-time collaboration and productivity tools for remote work. Another feature is assisted in code completion and cleanup. Also, it includes code refactoring. This perfect environment is the reason for the growing demand for .NET in game development. GitHub also provides all your DevOps needs. Host and review code, manage projects, and build software alongside 50 million developers with GitHub.

Conclusion

Indeed, the future of .NET in game development is bright. Game Engines use the latest versions of .NET, and it even gets upgraded as the new version releases. With strong game engines, a rich set of tools, and C# .NET’s growing popularity is gamers’ favorite. That’s why it has become one of the best choices for game developers.

NODE.JS VS ASP.NET CORE: Which One to Choose?

No Comments »

The software industry offers multiple choices for developers and business owners. Some languages come and go forever, and some make a toll in the industry and immediately gain popularity, such as ASP.NET Core and Node.js. These are the two most popular software development environments with strong community support that help the skilled .NET Core developers in speeding up, fastening, and scaling up the entire development process. Before choosing any programming language let us know more about these two programming platforms and see what they have to offer.

The Basics

Node.js

As an alternative to Apache HTTP Server, Node.js was created for Apple’s, SmartOS, FreeBSD, AIX, Microsoft Windows, Android, and Linux operating systems. As the official site explains Node.js is a software platform built on the basis of V8, where V8, in turn, is the JavaScript engine developed by Google with open source code written in C++.

In this modern age, JavaScript has become the most interesting trend. Companies are migrating their sites to JavaScript-based technologies. Nodejs is a cross-platform runtime environment that connects libraries written in different programming languages and also enables interaction with I/O devices. Developers can use Node.js in web development by utilizing an agile software development approach. It offers both scalable and robust services to clients.

ASP .NET Core

ASP.NET Core is one of the most important open-source web application frameworks. It is developed and designed by Microsoft. It is a framework created on CLR (Common Language Runtime) that enables the developers to use any .NET dialect like C# (object-oriented), VB .NET (a bequest of Visual Essential), F# (utilitarian to begin with), C++, and more.

The .NET Core framework offers a wide range of web forms MVC and uses HTML5, JavaScript, CSS, and Templates which are used to create different types of services and applications for Windows. But ASP.NET Core is used to create dynamic web pages and it is a part of the .NET Core framework.

Performance

Node.js

When it comes to the performance of Node.js, many developers in the market believe that applications created using Node.js offer better performance. This technology is capable of handling multitasking with ease and this is because it works on JavaScript engine V8, the high-performing engine. Besides this, it can also tackle more traffic on the server.

.NET Core

In comparison to Node.js performance, ASP.NET Core only proves its robustness for a certain type of project. Node.js can manage tasks that require less computation. But with time .NET Core has become 15% faster and this has made it a good choice for developers.

Stability & Reliability

ASP.NET Core/.NET Core is a winner in this category. The security and reliability the platform provides make it a great option to create robust software with C# language. Node.js is more reliable for complex enterprise software developed with TypeScript than on its own.

Node.js is a technology that is known as a full-stack JavaScript framework that serves both the server-side and client-side of the applications. This technology can interpret the JavaScript code with the help of the JavaScript v8 engine by Google. And it complies with the JS code into the machine code directly without any issues. This approach enables faster and better implementation of code and also the code execution is also enhanced by the JavaScript runtime environment.

On the other hand, one of the most important advantages of the .NET Core is to offer high performance and optimize the code to offer better results. ASP.NET Core is a technology that demands less coding and this helps the developers to easily optimize the code. And because of this, the development team has to spend less time creating a solution and this helps in cutting down the budget.

Community Support

Both development environments can boast of having active and strong community support which ultimately means it won’t be burdensome to find a solution to the problem. However, keep in mind that .NET has more community support on Stack Overflow whereas Node.js is supported more via GitHub. The best example is the Stack Overflow question and answer website which has around 4 million registered users.

The community support for .NET Core appears to be rising as well. Every day, the official Dotnet YouTube channel posts useful videos that engage the community in a good way.

How to make the right decision?

Node.js is one of the most popular JavaScript-based platforms that is designed to increase the use of JS in creating efficient and scalable network applications, and the ASP.NET core is a platform that enables the use of different libraries, programming languages, and editors to create websites, web apps, and mobile apps. There are such sites as Microsoft, StackOverflow, and Dell that run on a .NET environment. Again developers can use Node.js for creating web applications and APIs for various operating systems like Windows, Linux, and OS X. Besides, using this technology you can create apps for big companies like Uber, PayPal, LinkedIn, Netflix, eBay, and more. If you know the type of app or software you want to develop it will be easier for you to choose the solution.

Conclusion

When it comes to choosing a technology out of these two modern platforms, ASP.NET Core is a web application development technology that can be more suitable for small and medium-size solutions. While on the other Node.js is used when the developers want to create a robust solution for the clients which is also lightweight. This proves that the selection depends on the project type, size, and the need for the functionalities in that project.

Some of The Best Tools You Can Use as A .NET Developer

No Comments »

The .NET framework is one of the most popular open-source frameworks that is used by millions of software developers. According to the latest estimates, there are over 6 million .NET engineers worldwide. This has spurred the growth of various third-party development tools. To get a first-hand opinion on the most valuable and useful developer tools out there. Today, we presented a compiled list of essential .NET developer tools. Let’s have a look at the 10+ most valuable tools every .NET developer should use.

Best Tools for .NET Developers

Visual Studio Gallery

This is an essential tool that offers quick access to Visual Studio extensions, controls, and templates. The marketplace integrates with the IDE, allowing you to access over 7,000 products currently available. The Visual Studio Gallery is critical in how you locate the right extension for your needs. Without the VS Gallery, clicking on Extensions in VS wouldn’t work.

GitHub Extension for Visual Studio

With version control being so popular, Microsoft couldn’t ignore GitHub by NOT including it within Visual Studio. For developers, GitHub is vital. This extension helps us to connect our IDE directly to our GitHub repositories. This means that one can create, clone, and publish your projects, and create or view pull requests right within Visual Studio.

ReSharper

A developer who wants to become more productive when writing C# code should run, not walk, to purchase this tool. This is a Visual Studio extension by JetBrains. ReSharper adds the power to analyze code quality, then to find and fix the errors quickly. It also has several shortcuts for quick and easy refactoring and navigation.

NDepend

NDepend is also a Visual Studio extension for static code analysis. For optimizing and refactoring code at a high level, NDepend is one of the best. It essentially allows developers to see the “wood for the trees”, giving a wide view of your application and how is your code organized. The tool helps us measure our code quality using various metrics, to visualize its design, and to accurately estimate your technical depth, right within the IDE.

NuGet

NuGet is a package manager for .NET that allows you to access various third-party libraries, or to create and share your tools. With over 98 thousand packages currently available, it is the largest database of third-party components for .NET. NuGet streamlines the delivery of third-party components directly into your Visual Studio project at design time and contains a command line for CI/CD automated deploys.

Web Essentials for Visual Studio

This Visual Studio extension augments the core VS functionality with more powerful and useful features, including task shortcuts and improved Intellisense for CSS/HTML/JavaScript, etc. This is a handy tool for web developers using Visual Studio that can be a real productivity booster. In this one extension, you receive custom editors, a Browser Link to immediately see changes in the browser, TypeScript, Less, Markdown, and CoffeeScript support.

Novi Builder

Novi Builder is a visual HTML editor that allows changing texts, images, links, backgrounds, and other elements effortlessly. There are 200+ useful elements that make it possible to create different pages. Novi also provides a code editor to work with HTML, CSS, and JS code for your online projects.

.NET Reflector

.NET Reflector is a decompiler and static analyzer for the .NET framework. It helps you understand and debug your .NET code, including third-party components, even if you don’t have any documentation or comments. It also gives us a solid insight into what an assembly contains and what code is actually doing when decompiled.

SQLComplete

SQLComplete is a productivity tool that augments the SQL Server Management Studio with several useful features, including tab coloring, script generation, navigation, and more. Full-stack developers always get their hands dirty with SQL. This freemium tool is the equivalent of Intellisense in C# and plugs into SQL Server Query Analyzer and Visual Studio. Along with its exceptional Intellisense capabilities, it also has a handful of features to assist with snippets, templating, and SQL formatting.

LINQPAD

This is a safe playground where you can test your LINQ queries or any C#/F#/Visual Basic program. The tool has a built-in debugger and autocomplete features, and is a perfect platform for prototyping with instant feedback. LIt is simply a Notepad for LINQ and also an essential tool for experimenting with LINQ and testing code snippets before they are introduced into code.

ELMAH

ELMAH stands for Error Logging Modules and Handlers. It is an open-source debugging and error logging tool for ASP.NET, and is provided by Google. It really stands in comparison to some other paid .NET logging solutions that you can find online.

Microsoft Web Platform Installer

This free package management software makes it easy to access the latest components of the Microsoft Web Platform, including IIS, SQL Server Express, .NET Framework, Visual Web Developer, and much more. The system keeps you up to date by automatically installing the latest versions of each component.

Conclusion

The choice of .Net tool varies greatly on the specific task or situation. Using additional instruments can free you from routine tasks and automate many processes, thus optimizing your performance and eliminating errors. Some of them have some similar as well as some unique features that can be very helpful on a specific situation.

MAUI Lets You Create a Cross-Platform Mobile App with .NET and C# From a Single Codebase

No Comments »

What if we could create native mobile apps and desktop apps using .NET C# and XAML from a single code base? How cool would that be? Yes, now we can create native Android, iOS, macOS, and Windows applications from a single code base. This is possible using .NET’s new feature called Multi-platform App UI (MAUI). .NET Multi-platform App UI (.NET MAUI) is a cross-platform framework for creating native mobile and desktop apps with C# and XAML. Microsoft Build 2020 announced that Microsoft has evolved Xamarin.Forms and taken the next step in the .NET unification to give us a cross-platform mobile-first framework for Android, iOS, macOS, and Windows. .NET MAUI will introduce new ways to build applications – available in .NET 6 and in preview now!

What is .NET MAUI?

.NET Multi-platform App UI (MAUI) is the evolution of Xamarin. Forms extended from mobile to desktop scenarios with UI controls rebuilt from the ground up for performance and extensibility. – Maddy Leger, Program Manager Xamarin/.NET MAUI Team. is an open-source cross-platform framework which can be used to develop and build native Android, iOS, macOS, and Windows applications from a single code base.

What are Xamarin and Xamarin.Forms?

Xamarin is an open-source .NET platform for building iOS, Andriod, macOS, and Windows applications. It was introduced in 2011. It allows us to share business logic across platforms, using .NET, while creating a native UI for each. Xamarin allows developers to share an average of 90% of their application across platforms. To help with the overhead of creating native UI’s for each platform, we have Xamarin.Forms.

Xamarin.Forms is an open-source UI framework that allows us to combine the code for Xamarin.Android, Xamarin.iOS, Xamarin.Mac, and Windows applications into a single shared codebase.

Microsoft is now thinking about creating a unified .NET platform that can replace .NET Framework, .NET Core, and Xamarin. .NET MAUI is the next step in unifying .NET by replacing Xamarin.Forms. It addresses some of the issues and downsides of Xamarin.Forms, while providing an updated architecture on top of the new generation of .NET and project system.

Difference between MAUI and Xamarin.Forms

Microsoft is rebuilding the core of Xamarin.Forms, bringing us performance improvements, consistent design systems, and an extension from mobile to desktop. Now you may ask if we use Xamarin.Forms then why should we move to MAUI? Why is so special about MAUI?

.NET MAUI provides cross-platform APIs for native device features. It has some major Improvements like a Single project experience across platforms and .NET hot reload. .NET MAUI allows us to have a single project experience instead of one project for each target platform. We can use one language across our application to target all the supported platforms and easily share resources across them while maintaining an option for platform-specific code. Also the Model-View-ViewModel (MVVM) and XAML pattern used in existing Xamarin.Forms applications will continue to be supported and improved with the evolution. .NET MAUI will introduce further support for the Model-View-Update (MVU) development pattern, popular in C#, enabling developers to write fluent C# UI and create a code-first development experience.

How .NET MAUI works?

.NET MAUI unifies Android, iOS, macOS, and Windows APIs into a single API that allows a write-once run-anywhere developer experience, while additionally providing deep access to every aspect of each native platform.

.NET 6 provides a series of platform-specific frameworks for creating apps: .NET for Android, .NET for iOS, .NET for macOS, and Windows UI 3 (WinUI 3) library. These frameworks all have access to the same .NET 6 Base Class Library (BCL). This library abstracts the details of the underlying platform away from your code. The BCL depends on the .NET runtime to provide the execution environment for your code. For Android, iOS, and macOS, the environment is implemented by Mono, an implementation of the .NET runtime. On Windows, Win32 provides the execution environment.

.NET MAUI provides a single framework for building the UIs for mobile and desktop apps. The following diagram shows a high-level view of the architecture of a .NET MAUI app:

.NET MAUI architecture diagram.

In a .NET MAUI app, you write code that primarily interacts with the .NET MAUI API (1). .NET MAUI then directly consumes the native platform APIs (3). In addition, app code may directly exercise platform APIs (2), if required.

About .NET hot reload

.NET MAUI includes support for .NET hot reload, which enables you to modify your managed source code while the app is running, without the need to manually pause or hit a breakpoint. Hot reload increases productivity for .NET developers, allowing instant updates to running applications with new code changes. .NET MAUI includes support for XAML hot reload, which enables you to save your XAML files and see the changes reflected in your running app without recompilation. In addition, your navigation state and data will be maintained, enabling you to quickly iterate on your UI without losing your place in the app.

During Microsoft Build 2021, Microsoft announced the availability of .NET MAUI Preview 4. Each preview provides us with more features and tools with general availability scheduled for November 2021 at .NET Conf. With the release of Preview 4, we can now create functional applications across all supported platforms using .NET MAUI. In addition, they have added new capabilities to support running Blazor on desktop using .NET MAUI, allowing the reuse of Blazor UI components across native desktop and web applications. Alongside Preview 4 is the release of Visual Studio 2019 version 16.11 Preview. The Visual Studio 2019 16.11 Preview enables .NET Hot Reload for MAUI and provides productivity features for developing .NET MAUI projects. To see what is coming in future releases, visit the MAUI product roadmap.

Major Dot NET Update 7 Is About to Be Released Soon

No Comments »

.NET is one of the best software development framework and ecosystem designed and supported by Microsoft that allows for easy desktop and web application engineering. It’s a popular free platform which is used for a lot of different types of applications as it provides the programming environment for most software development phases. .NET best suits businesses that look for a wide range of features like web-based services, desktop software, and cloud infrastructure support. .NET provides a lot of features to build applications on Windows, Linux, macOS, iOS, watchOS, Android, tvOS, or using WebAssembly. The platform comes with new APIs, language features, and runtime capabilities.

Recently, Microsoft .NET open source framework just celebrated its 20th birthday and the company is now pushing ahead with a new version, .NET 7. In a blog post, Microsoft said they would be releasing .NET 7 Preview 1 alongside ASP.NET Core Preview 1 and EF7 Preview 1.

“.NET 7 is built on the foundation established by .NET 6, which includes a unified set of base libraries, runtime, and SDK, a simplified development experience, and higher developer productivity,” says Microsoft’s Jeremy Likness. “Major areas of focus for .NET 7 include improved support for cloud native scenarios, tools to make it easier to upgrade legacy projects, and simplifying the developer experience by making it easier to work with containers.”

.NET 7 Preview 1 is now available!. This is the first preview of the next major version of .NET, which will include the next wave of innovations for web development with ASP.NET Core. This .NET 7 Preview 1 is the first of many. .NET 7 preview releases in preparation for the .NET 7 release in November 2022.

In May 2019, the company announced the big release that would tie the ecosystem together: All .NET elements were supposed to be bundled in the .NET 5 development platform. While changes were made to the schedule because of COVID-19, the .NET 5 unified development platform was finally introduced in November 2020. The successor to .NET Core 3.1 and .NET Framework 4.8, .NET 5 puts order into the fragmentation of the .NET world. It includes ASP.NET Core, Xamarin, Entity Framework Core, WPF, WinForms, and ML.NET. While .NET 5 set the unification foundations, the newest .NET 6 version delivered the final parts of it in November 2021, with Visual Studio 2022 released the same day. This is a unified platform for building projects across cloud, browser, IoT, mobile, and desktop environments, enabling all to use the same .NET libraries, SDK, and runtime.

Some headline features of this .NET 7 is the addition of .NET Multi-platform App UI (MAUI). Also, the new tools that will make it easier to build cloud-native apps by simplifying the setup and configuration necessary to implement secure authentication and authorization, and also improving the performance of application startup and runtime execution.

More .NET news

.NET Framework 4.5.2, 4.6, and 4.6.1 will reach End of Support on Apr 26, 2022. After this date, they will no longer provide updates, including security fixes or technical support for these versions. If you are currently using .NET Framework 4.5.2, 4.6, or 4.6.1 runtime you need to update your deployed runtime to a more recent version – at least .NET Framework 4.6.2 before April 26, 2022 – in order to continue to receive updates and technical support. There is no need for you to retarget or recompile your application against .NET Framework 4.6.2. When .NET Framework 4.5.2, 4.6, and 4.6.1 reach the end of support, applications that run on top of these versions will continue to run. Starting May 2022, Microsoft won’t be issuing security updates for .NET Framework 4.5.2, 4.6, and 4.6.1 when they issue these security updates for .NET Framework 4.6.2 and later versions. This means that starting May 2022, if a computer has .NET Framework 4.5.2, 4.6, or 4.6.1 installed, it may be insecure. Additionally, if you run into any issue and need technical support, you will be asked to first upgrade to a supported version.

Now you may ask why are they doing this?

The .NET Framework was previously digitally signed using certificates that use the Secure Hash Algorithm 1 (SHA-1). SHA-1 is a legacy cryptographic hashing algorithm that is no longer deemed secure. After looking at download and usage data across the different versions of .NET Framework, they have found that updating .NET Framework 4.6.2 and newer versions to support newer digital certificates (for the installers) would satisfy the vast majority (98%) of users without them needing to make a change. The small set of users using .NET Framework 4.5.2, 4.6, or 4.6.1 will need to upgrade to a later .NET Framework version to stay supported.

There is no change to the support timelines for any other .NET Framework version, including .NET Framework 3.5 SP1, which will continue to be supported as documented on .NET Framework Lifecycle FAQ.

After many years opposing open source, Microsoft is now leaning into making the space better. It’s fair to say many developers were initially skeptical of Microsoft and its commitment to making open source tools as the company, seeking to maintain its dominant position, opposed many developers and projects. But Microsoft’s GitHub acquisition(opens in a new tab) for $7.5 billion in 2018 helped the company turn a new page and win over skeptics.

By maintaining .NET 7 – which is truly open source and cross-platform – so thoroughly (you could even say lovingly), Microsoft is doing its bit for the furtherance of computing. Tell us what is, please share with us what you think about this new .NET 7 release.

Google Considered C# as the Native Language for Android

5 Comments »

Wow, I nearly fell out of my chair when I read this little gem on TechCrunch:

Android chief Andy Rubin wrote in a 2005 email, “If Sun doesn’t want to work with us, we have two options: 1) Abandon our work and adopt MSFT CLR VM and C# language – or – 2) Do Java anyway and defend our decision, perhaps making enemies along the way.”

Imagine how different the world would be today if Google had chosen .NET instead of Java as the native development framework for the Android mobile operating system…

Read more at DevTopics >>

.NET Isn’t Dead

2 Comments »

I jump into the controversy about the future of the .NET Framework and HTML5+JavaScript.

Read “.NET Isn’t Dead” on DevTopics.com >>

Visual Studio 2010 Service Pack 1

No Comments »

Microsoft Visual Studio. Copyright © Microsoft Corp.

Microsoft has released Service Pack 1 for its Visual Studio 2010 flagship integrated development environment (IDE).  Visual Studio SP1 provides many new features, performance improvements, and bug fixes including:

  • Stand-alone Help Viewer 1.1
  • Silverlight 4 support
  • Basic Unit Testing support for .NET 3.5
  • .NET Framework 4 improvements
  • Performance Wizard for Silverlight
  • Visual Basic Runtime embedding
  • IntelliTrace for 64-bit and SharePoint
  • Fix for partial or mixed Visual Studio installations
  • IIS 7.5 Express support
  • SQL Server CE 4 support
  • Razor support for ASP.NET Web Pages and MVC 3
  • Web Platform Installer integration
  • HTML5 and CSS3 preliminary support
  • WCF RIA Services localized and supported
  • XAML Editor/Designer improvements
  • XAML Style IntelliSense
  • C++ MFC-based GPU-accelerated graphics and animations
  • New AMD and Intel instruction set support

Download Visual Studio 2010 SP1
Full Description of VS 2010 SP1
Tips on Installing VS 2010 SP1

.NET Framework 4 and Extensions Poster

1 Comment »

.NET Framework 4 and Extensions Poster (PDF)

Click the image above to download a .NET Framework 4 and Extensions poster from Microsoft.

Want more .NET posters?  Devcurry has published a collection of .NET Framework and Visual Studio posters including keyboard shortcut, namespace and type posters.

.NET and Visual Studio Poster Collection

« go backkeep looking »