Mark Michaelis (Blog)is the founder of IntelliTect and serves as the Chief Technical Architect and Trainer. Since 1996, he has been a Microsoft MVP for C#, Visual Studio Team System, and the Windows SDK and in 2007, he was recognized as a Microsoft Regional Director. He also serves on several Microsoft software design review teams, including C#, the Connected Systems Division, and VSTS. Mark speaks at developer conferences and has written numerous articles and books - Essential C# 6.0 is his most recent. Mark holds a Bachelor of Arts in Philosophy from the University of Illinois and a Masters in Computer Science from the Illinois Institute of Technology. When not bonding with his computer, Mark is busy with his family or training for another Ironman (having completed his first in 2008). Mark lives in Spokane, Washington, with his wife Elisabeth and three children, Benjamin, Hanna and Abigail.

Implementing a Custom ILogger with Exception Handling for .NET Core

,
March 4, 2016 / 2 Comments

This article corresponds with the MSDN article: Essential .NET – Logging with .NET Core. This github repo contains the code referenced in the article. Not in particular the unit test LogCritical_Exception_Success for an example of handling an exception using the custom logger.

The Custom Logger implementation is straightforward:

Here is the the extension method for adding a custom […]
Read more

AUTHOR: CATEGORY: .Net, .NET Core, C#

Essential .NET – Configuration in .NET Core (MSDN)

,
February 4, 2016 / No Comment

Note: Just prior to press time, Microsoft announced name changes to ASP.NET 5 and related stacks. ASP.NET 5 is now ASP.NET Core 1.0. Entity Framework (EF) 7 is now Entity Framework (EF) Core 1.0. The ASP.NET 5 and EF7 packages and namespaces will change, but otherwise the new nomenclature has no impact on the lessons of this article.
Those of […]
Read more

AUTHOR: CATEGORY: .Net, Blog, Headlines

Essential .NET – C# Scripting (MSDN)

,
January 6, 2016 / No Comment

With the arrival of Visual Studio 2015 Update 1, henceforth Update 1, comes a new C# read-evaluate-print-loop (REPL), available as a new interactive window within Visual Studio 2015 or as a new command-line interface (CLI) called CSI. In addition to bringing the C# language to the command line, Update 1 also introduces a new C# scripting language, traditionally saved into […]
Read more

AUTHOR: CATEGORY: .Net, Blog, C#, Headlines

Designing C# 7

,
December 9, 2015 / No Comment

“By the time you read this, the C# 7 design team will have been discussing, planning, experimenting and programming for about a year. In this installment, I’ll sample some of the ideas they’ve been exploring.
In reviewing, be mindful that at this time these are still ideas for what to include in C# 7. Some of the ideas the team […]
Read more

AUTHOR: CATEGORY: .Net, Blog, C#

C# Exception Handling

,
November 9, 2015 / No Comment

“C# 6.0 included two new exception handling features. First, it included support for exception conditions—the ability to provide an expression that filters out an exception from entering catch block before the stack unwinds. Second, it included async support from within a catch block, something that wasn’t possible in C# 5.0 when async was added to the language. In addition, there […]
Read more

AUTHOR: CATEGORY: .Net, Blog, C#

DevOps Metrics

,
October 20, 2015 / 3 Comments

For the past several months, I have been participating with the DevOps Metrics team following the DevOps Forum 2015 earlier this year. The topic of discussion was Metrics related to DevOps and today I presented on the topic at the 2015 DevOps Enterprise Summit in San Francisco in a talk entitled Metrics that Matter.  The slides for this can be […]
Read more

AUTHOR: CATEGORY: ALM, Blog, DevOps

Guidelines for Exception Handling in C#

,
September 14, 2015 / 1 Comment

The following is a list of C# Exceptions Handling Guidelines taken from Essential C# by Mark Michaelis.
Exception handling provides much-needed structure to the error-handling mechanisms that preceded it. However, it can still lead to some unwieldy results if used haphazardly. The following guidelines offer some best practices for exception handling.

Catch only the exceptions that you can handle.
Read more

AUTHOR: CATEGORY: .Net, C#

EntityFramework’s Update-Database Fails with “Invalid directory on URL.”

,
June 12, 2015 / 1 Comment

While running Visual Studio 2015 RC (VS2015) you may encounter an error when referencing the EntityFramework Nuget package (at least on v6.1.3) stating the following:

The error specifically occurs when running  Update-Database  from within the Package Manager or when using Package Manager Console.
The issue arises from within the EntityFramework module file (EntityFramework.psm1).  The specific problem is due to a […]
Read more

AUTHOR: CATEGORY: .Net, Blog, EntityFramework

Road to the Cloud: Seattle Business Strategy and Networking for ISVs

,
January 30, 2015 / No Comment

Road to the Cloud: Seattle Business Strategy and Networking for ISVs will be led by Mark Michaelis on Tuesday, February 17, 2014 from 1:00-6:00.
Business leaders of independent software vendor organizations (ISVs) face increasing challenges in today’s software market. Many companies that have historically bought packaged software solutions are evaluating software as a service (SaaS) and cloud-backed software solutions to […]
Read more

AUTHOR: CATEGORY: Blog, Cloud, Events, Headlines