Click here to Skip to main content
15,885,985 members
Articles / Programming Languages / C#

Genuilder

Rate me:
Please Sign up or sign in to vote.
5.00/5 (30 votes)
10 Nov 2009Ms-PL9 min read 70.2K   432   66  
Enhance Visual Studio and your build process in just two clicks. This tool does its best to be out of your way, while improving your development experience seemlessly.
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>9.0.30729</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{B7E1C85E-1023-4059-8A59-1CE8DD875465}</ProjectGuid>
    <OutputType>Library</OutputType>
    <AppDesignerFolder>Properties</AppDesignerFolder>
    <RootNamespace>CommonConfig</RootNamespace>
    <AssemblyName>CommonConfig</AssemblyName>
    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
    <FileAlignment>512</FileAlignment>
    <StartupObject>
    </StartupObject>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <Optimize>false</Optimize>
    <OutputPath>bin\Debug\</OutputPath>
    <DefineConstants>DEBUG;TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>
  <Import Project="Common.Before.targets" />
  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
  <ItemGroup>
    <ProjectReference Include="..\SetCommonConfigOnTargets\SetCommonConfigOnTargets.csproj">
      <Project>{64B01CFB-EF8C-4E59-8EF0-0C311A8DD338}</Project>
      <Name>SetCommonConfigOnTargets</Name>
      <Private>False</Private>
    </ProjectReference>
    <ProjectReference Include="..\*.Targets*\*.csproj">
    </ProjectReference>
    <!--<ProjectReference Include="..\SetCommonConfigOnTargets\SetCommonConfigOnTargets.csproj"></ProjectReference>-->
  </ItemGroup>
  <ItemGroup>
    <None Include="Common.After.targets" />
    <None Include="Common.Before.targets" />
    <TargetsFiles Include="..\**\*.targets" Exclude="..\**\bin\**\*;..\$(AssemblyName)\*.targets;..\*TestProject*\**\*.targets" />
  </ItemGroup>
  <Target Name="Compile">
    <Message Text="@(TargetsFiles)">
    </Message>
    <ItemGroup>
      <_LinesToWrite Include="&lt;Project ToolsVersion=&quot;3.5&quot; DefaultTargets=&quot;Build&quot; xmlns=&quot;http://schemas.microsoft.com/developer/msbuild/2003&quot;&gt;" />
      <_LinesToWrite Include="@(TargetsFiles -> '&lt;Import Project=&quot;%(FileName)%(Extension)&quot; /&gt;')" />
      <_LinesToWrite Include="&lt;PropertyGroup&gt;&lt;UseHostCompilerIfAvailable&gt;false&lt;/UseHostCompilerIfAvailable&gt;&lt;/PropertyGroup&gt;" />
      <_LinesToWrite Include="&lt;/Project&gt;" />
    </ItemGroup>
    <WriteLinesToFile File="AllTargets.targets" Lines="@(_LinesToWrite)" Overwrite="true">
    </WriteLinesToFile>
    <Message Text="$(Language)">
    </Message>
    <Copy SourceFiles="AllTargets.targets" DestinationFolder="$(OutDir)">
    </Copy>
    <Exec Command="SetCommonConfigOnTargets.exe" WorkingDirectory="..\SetCommonConfigOnTargets\bin\$(Configuration)">
    </Exec>
  </Target>
  <Target Name="CopyFilesToOutputDirectory" />
</Project>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Microsoft Public License (Ms-PL)


Written By
Software Developer Freelance
France France
I am currently the CTO of Metaco, we are leveraging the Bitcoin Blockchain for delivering financial services.

I also developed a tool to make IaaS on Azure more easy to use IaaS Management Studio.

If you want to contact me, go this way Smile | :)

Comments and Discussions