We are experiencing an issue where one of our deployment projects gets modified during the build process.
We have a large application with several component webservices, and as part of the build process for the solution we have tasks to copy the compiled assemblies and configuration files etc to a specific folder, and then zip them ready for deployment.
We have 5 deployment projects in the solution, but only one has this issue.
The 5 web deployment projects all look similar to this, normally:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{GUID}</ProjectGuid>
<SourceWebPhysicalPath>..\..\WebService\X.Connectors\Component1\X.Connectors.Component1</SourceWebPhysicalPath>
<SourceWebProject>{GUID}|WebService\X.Connectors\Component1\X.Connectors.Component1\X.Connectors.Component1.csproj</SourceWebProject>
<SourceWebVirtualPath>/X.Connectors.Component1.csproj</SourceWebVirtualPath>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>..\Setups\Connectors\Component1\</OutputPath>
<EnableUpdateable>false</EnableUpdateable>
<UseMerge>true</UseMerge>
<SingleAssemblyName>OBE.Connectors.Component1.Deploy</SingleAssemblyName>
<DeleteAppDataFolder>true</DeleteAppDataFolder>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>false</DebugSymbols>
<OutputPath>..\Setups\Connectors\Component1\</OutputPath>
<EnableUpdateable>false</EnableUpdateable>
<UseMerge>false</UseMerge>
<SingleAssemblyName></SingleAssemblyName>
<UseFixedNames>true</UseFixedNames>
<DeleteAppDataFolder>true</DeleteAppDataFolder>
</PropertyGroup>
Now, every now and then, maybe every 5th build or so, after the build has completed, one of the .wdproj files is changed, like this:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>9.0.21022</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{GUID}</ProjectGuid>
<SourceWebPhysicalPath>..\..\WebService\X.Connectors\Component2\X.Connectors.Component2</SourceWebPhysicalPath>
<SourceWebProject>{GUID}|WebService\X.Connectors\Component1\X.Connectors.Component1\X.Connectors.Component1.csproj</SourceWebProject>
<SourceWebVirtualPath>/X.Connectors.Component1.csproj</SourceWebVirtualPath>
<TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
</PropertyGroup>
This change, causes the next build to compile the source code from Component 2 and put the generated assemblies into the bin folder for Component 1, thus resulting in the wrong dll's being in the bin folder.
The only build tasks we have in place are the ones to ZIP the files in the directory and one to update the version with SVN revision number. We are using VS2008.
Anyone encountered this before or able to shed any light on this?