<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Msbuild on Strathweb. A free flowing tech monologue.</title>
    <link>https://www.strathweb.com/categories/msbuild/</link>
    <description>Recent content in Msbuild on Strathweb. A free flowing tech monologue.</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 26 Jan 2020 07:40:29 +0000</lastBuildDate><atom:link href="https://www.strathweb.com/categories/msbuild/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Enforcing C# EditorConfig formatting conventions at build time</title>
      <link>https://www.strathweb.com/2020/01/enforcing-c-editorconfig-formatting-conventions-at-build-time/</link>
      <pubDate>Sun, 26 Jan 2020 07:40:29 +0000</pubDate>
      
      <guid>https://www.strathweb.com/2020/01/enforcing-c-editorconfig-formatting-conventions-at-build-time/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2019&#34;&gt;EditorConfig&lt;/a&gt; is an excellent way to enforce stylistic rules on your C# projects. However, the rules and their corresponding IDExxxx diagnostics are only enforced in the editor, such as Visual Studio or VS Code with OmniSharp, but not at build time.&lt;/p&gt;
&lt;p&gt;While there are &lt;a href=&#34;https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2019#convention-categories&#34;&gt;various&lt;/a&gt; categories of EditorConfig conventions that you can use, in this post, I will show you how to enforce the formatting conventions (IDE0055) at build time.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Solution-wide Nuget package version handling with MsBuild 15&#43;</title>
      <link>https://www.strathweb.com/2018/07/solution-wide-nuget-package-version-handling-with-msbuild-15/</link>
      <pubDate>Fri, 20 Jul 2018 13:04:06 +0000</pubDate>
      
      <guid>https://www.strathweb.com/2018/07/solution-wide-nuget-package-version-handling-with-msbuild-15/</guid>
      <description>&lt;p&gt;Last year &lt;a href=&#34;https://www.strathweb.com/2017/09/solution-wide-nuget-package-handling-in-net-sdk-based-projects/&#34;&gt;I blogged&lt;/a&gt; about a way to handle NuGet package versions at the solution level for .NET SDK-based &lt;em&gt;csproj&lt;/em&gt; project files (so those using &lt;em&gt;&lt;PackageReference /&gt;&lt;/em&gt; entries to define their NuGet dependencies).&lt;/p&gt;
&lt;p&gt;That approach worked reasonably well, but was entirely custom - as it simply relied on defining reusable MsBuild properties to handled the versions, which created a bit of overhead.&lt;/p&gt;
&lt;p&gt;With MsBuild 15 and newer, you can actually do it in a much more elegant way. Let&amp;rsquo;s have a look.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Solution-wide Nuget package handling in .NET SDK-based projects</title>
      <link>https://www.strathweb.com/2017/09/solution-wide-nuget-package-handling-in-net-sdk-based-projects/</link>
      <pubDate>Fri, 29 Sep 2017 08:25:21 +0000</pubDate>
      
      <guid>https://www.strathweb.com/2017/09/solution-wide-nuget-package-handling-in-net-sdk-based-projects/</guid>
      <description>&lt;p&gt;In this blog post I’d like to show you a very simple technique for ensuring all your Nuget packages across all the projects in a solution have the same version. Such package management improvement introduced recently &lt;a href=&#34;https://github.com/OmniSharp/omnisharp-roslyn/pull/954&#34;&gt;into the OmniSharp code&lt;/a&gt; by one and only &lt;a href=&#34;https://twitter.com/dcampbell&#34;&gt;Dustin Campbell&lt;/a&gt;, and I’ve also been using it in some of my projects.&lt;/p&gt;
&lt;p&gt;If your solution is built around .NET SDK &lt;em&gt;csproj&lt;/em&gt; projects, which were introduced in Visual Studio 2017, hopefully this blog post will be useful to you.&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
