views:

267

answers:

2

I'm having problems with a wdproj I've upgraded to VS2008; This is the error I'm getting while trying to compile the project using msbuild:

ASPNETCOMPILER : error ASPRUNTIME: The precompilation target directory (C:\code\CCI\CORUS\Website\Website_DeploymentProject\TempBuildDir\) cannot be in the same tree as the source application directory (C:\code\Website\).

This is what the relevant section of my wdproj file looks like:

<Project DefaultTargets="Build;AfterBuild" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
 <PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <ProductVersion>8.0.60403</ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{36799864-6917-499B-814B-F542D3C6828B}</ProjectGuid>
    <SourceWebPhysicalPath>..\SWebSite</SourceWebPhysicalPath>
    <SourceWebProject>{283D5526-6B10-4CD1-B492-0283D351DC77}|WebSite\WebSite.csproj</SourceWebProject>
    <SourceWebVirtualPath>/WebSite</SourceWebVirtualPath>
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>$(BuildSourceCodePath)\WebSites\$(Configuration)</OutputPath>
    <EnableUpdateable>true</EnableUpdateable>
    <UseMerge>true</UseMerge>
    <UseWebConfigReplacement>true</UseWebConfigReplacement>
    <ValidateWebConfigReplacement>true</ValidateWebConfigReplacement>
  </PropertyGroup>

However that's mostly irrelavant as all I really need to do is somehow change / override the location of %(TempBuildDir) without manually hacking $(MSBuildExtensionsPath)\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets.

A: 

You can use a pre-compilation switch to override the pre-compilation target folder. Here is an overview of ASP.NET pre-compilation.

Alternatively, if the pre-upgrade version of the project didn't use a virtual directory, but the upgraded version does, this can cause the .wdproj to become confused. In that case, you might need to recreate the deployment project.

RoadWarrior
actually it was easier than that, I moved the .wdproj up a directory level so it wasn't in the same tree - I did play with all the pre-compilation switches but none helped.
Ravi
A: 

The solution was simple - move the .wdproj file up a level, i.e. out of your Web Site Project and everything works fine.

Ravi