Skip to content

RoryDuncan/msbuild-project-organizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MSBuild Project Organizer

Unit Tests

A console application for organizing messy .csproj files.

Install

You can install as a dotnet tool from NuGet

Usage

See Usage

Development

Run dotnet build src

Run Tests

Run dotnet test.

Useful Links

Example Changes

Before

Some messy XML

<Project>
  <ItemGroup>
    <Content Include="jquery.js" />
  </ItemGroup>
  <ItemGroup>
    <Content Include="Views/Index.cshtml" />
    <Content Include="croppie.js" />
    <Compile Include="DashboardController.cs" />
    <Content Include="Views/Dashboard/Index.cshtml" />
    <Compile Include="Bundling.cs" />
    <Content Include="Views/Home.cshtml" />
    <Content Include="jquery.validator.js" />
    <Compile Include="HomeController.cs" />
  </ItemGroup>
</Project>

After

<?xml version="1.0" encoding="utf-8"?>
<Project>
  <!-- Compiled C# Files -->
  <ItemGroup Label=".cs files">
    <Compile Include="Bundling.cs" />
    <Compile Include="DashboardController.cs" />
    <Compile Include="HomeController.cs" />
  </ItemGroup>
  <!-- Published Files -->
  <ItemGroup Label=".cshtml files">
    <Content Include="Views/Dashboard/Index.cshtml" />
    <Content Include="Views/Home.cshtml" />
    <Content Include="Views/Index.cshtml" />
  </ItemGroup>
  <ItemGroup Label=".js files">
    <Content Include="croppie.js" />
    <Content Include="jquery.js" />
    <Content Include="jquery.validator.js" />
  </ItemGroup>
</Project>

You can also see the dogfooding examples: