MSBuild: Add additional files to compile without altering the project file
        Posted  
        
            by Craig Norton
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Craig Norton
        
        
        
        Published on 2010-06-12T20:43:26Z
        Indexed on 
            2010/06/12
            20:52 UTC
        
        
        Read the original article
        Hit count: 945
        
msbuild
After looking around I can't find a simple answer to this problem.
I am trying to create an MSBuild file to allow me to easily use SpecFlow and NUnit within Visual Studio 2010 express.
The file below is not complete this is just a proof of concept and it needs to be made more generic.
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
    <BuildDependsOn>
        BuildSolution;          
        SpecFlow;
        BuildProject;           
        NUnit;
    </BuildDependsOn>
</PropertyGroup>
<PropertyGroup>
    <Solution>C:\Users\Craig\Documents\My Dropbox\Cells\Cells.sln</Solution>
    <CSProject>C:\Users\Craig\Documents\My Dropbox\Cells\Configuration\Configuration.csproj</CSProject>
    <DLL>C:\Users\Craig\Documents\My Dropbox\Cells\Configuration\bin\Debug\Configuration.dll</DLL>
</PropertyGroup>
<Target Name="Build" DependsOnTargets="$(BuildDependsOn)">
</Target>
<Target Name="BuildSolution">
    <MSBuild Projects="$(Solution)" Properties="Configuration=Debug" />
</Target>
<Target Name="SpecFlow">
    <Exec Command="SpecFlow generateall $(CSProject)" />
</Target>
<Target Name="BuildProject">
    <MSBuild Projects="$(CSProject)" Properties="Configuration=Debug" />
</Target>
<Target Name="NUnit">
    <Exec Command='NUnit /run "$(DLL)"' />
</Target>
The SpecFlow Task looks in the .csproj file and creates a SpecFlowFeature1.feature.cs. I need to include this file when building the .csproj so that NUnit can use it.
I know I could modify (either directly or on a copy) the .csproj file to include the generated file but I'd prefer to avoid this.
My question is: Is there a way to use the MSBuild Task to build the project file and tell it to include an additional file to include in the build?
Thank you.
© Stack Overflow or respective owner