Your official information source from the .NET Web Development and Tools group at Microsoft.
We are pleased to announce that the RTW version of Web Deployment Projects for Visual Studio 2010 is now available for download. If you’ve been using Web Deployment Projects in Visual Studio 2008 or 2005, you can upgrade to VS 2010 without hesitation with the availability of Visual Studio 2010 Web Deployment Projects RTW (for Visual Studio Professional and higher skus).
You can download Visual Studio 2010 Web Deployment Projects RTW from the download page (or simply click here to directly download the installer).
The RTW version of Visual Studio 2010 Web Deployment Projects preserves all the core functionalities of Visual Studio 2005 Web Deployment Projects and Visual Studio 2008 Web Deployment Projects.
You can read more about these core features in the blog post we made for the Beta version. This blog post also describes enhancements such as Multi-targeting support for WDP in VS 2010 and Packaging using the new WDP ‘Build Deployment Package’ command. The ‘Build Deployment Package’ command in WDP also applies any web.config transformations when building the package if you have specified transformation files such as Web.Debug.config and Web.Release.config in your project.
- Visual Web Developer Team
Do all users using your site first have to log off before you can deploy your new programs to your server?
Have you tested this without Visual Studio 2010 installed? Web deployment projects doesn't work at all on a build server with only .NET 4.0 SDK installed. These are the problems I've encountered:
C:\Program Files (x86)\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1596, 9): error MSB6004: The specified task executable location "C:\Program Files (x86)\MSBuild\Microsoft\WebDeployment\v10.0\aspnet_merge.exe" is invalid.
This was fixed by replacing 'ExePath="$(AspnetMergePath)"' with 'ExePath="C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools"'. Then the following problem occurred:
C:\Program Files (x86)\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1682, 5): error MSB4036: The "CollectFilesinFolder" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Windows\Microsoft.NET\Framework\v4.0.30319" directory.
By commenting out the "CollectFilesinFolder" task, I was able to move on and got the following error:
C:\Program Files (x86)\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1701, 23): error MSB4113: Specified condition "$(EnablePackageProcessLoggingAndAssert)" evaluates to "" instead of a boolean.
This was solved by changing the condition from:
Then, the next problem was:
C:\Program Files (x86)\MSBuild\Microsoft\WebDeployment\v10.0\Microsoft.WebDeployment.targets(1743, 5): error MSB4036: The "CopyPipelineFiles" task was not found. Check the following: 1.) The name of the task in the project file is the same as the name of the task class. 2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface. 3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Windows\Microsoft.NET\Framework\v4.0.30319" directory.
Commenting out this made the web deployment project execute with MSBuild, but it now has no output, so the out-commenting I've done is obviously not the way to go about it.
Why are the "CollectFilesinFolder" and "CopyPipelineFiles" tasks missing? Where can I obtain them? Why isn't whatever library they're included in referenced as a requirement on the WDP 2010 download page? Why is Microsoft.WebDeployment.targets referencing the wrong path to "aspnet_merge.exe"? Why are there so many errors here that you haven't discovered?
The web deployment projects in question have been created with VS2010 WDP RTW and are being executed successfully on a local machine with Visual Studio 2010 installed. On the build server (that obviously haven't and shouldn't have Visual Studio 2010 installed) all of these problems are occurring. It looks like you haven't tested VS2010 WDP on a machine without Visual Studio 2010 installed at all.
First I need to clarify -- This is not supported secnario.
WDP won't install without VS (setup specifically check VS installation.)
Which basically means that you install on one machine and grab the task and dll to the build machine and expected it magically to work.
While we understand the desire of barebone on the build machine.
However, I want to set the expection right, what you did might work for WDP2008. But with the complexity the new 2010 introduce. You need other target file/task to make it work (which ship with VS.)
That's said, Now go back to what you need. to get you unblock.
(again, subject to change on later release...)
For the barebone build machine to work.
Beside WDP's target file/task.
You will also need the following target (Note that you need to put in the relative path. to the WDP targets)
All the thing that you point out, means that you missing these targets and tasks.
After copied into the build machine, see how it works.
Aspnet_merge.exe is differnt issue, we are rely on core MSBuild task/properties to find out the SDK path.
which tie into the MSBuild4. Please make sure you must have msbuild 4.0 installed on the machine.
However, since you have the workaround. we might deal with this later.
Let's know how it work for you with the above target/tasks copied to the build machine.
What you are saying is wrong. Both WDP 2008 and WDP 2010 installs fine without Visual Studio on the machine. Perhaps the Windows SDK is required, but Visual Studio itself isn't. I can also say that MSBuild 4 is installed (with the .NET 4.0 SDK) and is placed in the "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\NETFX 4.0 Tools" folder.
I'll have a try at copying the .target files to the build server and will report back how it works. Is there a reason why these .target files can't be bundled with the WDP 2010 installer?
After copying the .target files you suggested and making the following alteration to Microsoft.WebDeployment.targets, it now works!
<Import Project="..\..\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.targets" />
<Import Project="..\..\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
Did you ever get this error:
(AspNetCompiler target) ->
aspnet_merge : error 1008: The PrecompiledApp.config file is missing. Make sure the application has been precompiled with the Aspnet_compiler tool.
I have VS 2010, Web Deployment v10 and MSBuild 4.0 installed
Replaced the paths in AspNetMerge (because I also got the same error)
Also had to replace
AspNetMerge ApplicationPath="C:\windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files"
because I also got error:
(AspNetMerge target) -> aspnet_merge : error 1020: Cannot find the following assemblies to be merged in the application bin folder: App_Web_k
x0mjufu.dll, App_Web_1f315t0z.dll, App_Web_aiuml3d0.dll, App_Web_fjgmbexq.dll
Imported those 2 targets Microsoft.Web.Publishing.targets and Microsoft.WebApplication.targets
But in the end, I am stuck on "The PrecompiledApp.config file is missing" no matter what I tried. So where is aspnet_merge looking for PrecompiledApp.config?
Hi, klbytec. I am trying to reproduce this error but am unable to. Can you provide me with more details (and possibily an attached example)? My email is: its sayedha [AT] microsoft [DOT] com.
Hi Sayed. I regret not seeing your comment earlier! I just emailed you. Hope it's not too late. Thanks for taking an interest on this matter.