Last post May 28, 2010 06:34 PM by ming chen
May 28, 2010 09:28 AM|Ambionix|LINK
until now i kept referencing the v8 version of WDP.
Because this way my team build and local builds kept working when having the WDP project file under the same root in source control.
But now we can target net 4 or net 3.5 in VS2010 and i have some problems.
I know that i have to reference v10 of the WDP in
But when i do this i get the following error in the compiler - "cannot be in the same tree as the source application" obj/Release/TempBuildDir
Can you have the WDP under the same root in Source Control for WDP 2010?
Thanks in advance
May 28, 2010 06:34 PM|Ming Chen|LINK
it is not recommended. Here is the detail.
The error coming from the aspnet_compiler.exe.
The problem is that aspnet_compiler.exe work on folder root. If you have WDP in the same folder, you are in effect calling
aspnet_compiler.exe -p c:\mywebsite c:\mywebsite\mywebsite_deploy\obj\debug\tempBuildDir
which tell that aspnet_compiler.exe to compile output to c:\mywebsite\mywebsite_deploy\obj\debug\tempBuildDir while it pick up ALL files in the C:\mywebsite. Because "C:\mywebsite\mywebsite_deploy\obj\debug\tembpuldDir is also under the C:\mywebsite. So
all the file int eh obj\debug\tempBuildDir should be pick up and compiled as well. Aspnet_compiler.exe have explicit check to make sure this recursion won't happen. (thus the error you are seeing.)
I don't think this work for WDP v8 either unless you have some other property overwrite the properties controling where the tempbuildDir should go.
One possible thing that you might have prior did is to set the $(BaseIntermediateOutputPath) , "obj", to somewhere other than root folder (outsite of the sourceing website.) But you will run into the problem the very next build, because WDP's output will
be under its own folder as well. --- You just lucky just so happen team build happen to put the $(OutDir) outside of the WDP.
You end up to have one soltuion with a lot of workaround only works for the team build but not in the developer box.
This is why, we recommand WDP as parallel to the Sourceing website because of this reason.
To help yourself debugging, turn on the MSBuild Verbose mode, and find out aspnet_compiler.exe command been execute and back track to find out what property gets "obj\debug\tempbuilddir". You might need to overwrite.