Your official information source from the .NET Web Development and Tools group at Microsoft.
Based on the feedback from web development community we just released the Customer Technology Preview (CTP) of Web Deployment Projects for Visual Studio 2008... This release of Web Deployment Projects (WDP) has all the features that VS 2005 WDP release has and in addition has few other enhancements which I will call out later in this post...
We will be releasing the final version of Web Deployment Projects for Visual Studio 2008 in January 2008 after incorporating all the feedback that we receive via this Dec 2007 CTP release… This CTP is a substantial milestone as it will unblock lot of Web Developers, who depended upon WDP to go ahead and use the latest and greatest features of Visual Studio 2008…
Visual Studio 2008 Web Deployment Projects is an add-in to Visual Studio 2008 which provides developers with advanced compilation and deployment options... A Web Deployment project is extensible, enabling web developers to create pre-build and post-build actions...
Web Deployment Projects does not touch any shipping binaries within VS 2008… WDP neither changes the way Visual Studio 2008 Web Sites & Web Application Projects build nor does it changes the files in the source Web site project in any way... Instead, it takes an existing Web project as input and generate a precompiled Web as an output...
Visual Studio 2008 Web Deployment Projects preserves all the core functionalities that Visual Studio 2005 Web Deployment Projects had... You can read more about this core functionalities in the VS 2005 WDP white paper on MSDN... Also a tutorial on Web Deployment Projects VS 2005 can be found at Scottgu's blog...
Before installing the WDP for VS 2008 CTP release ensure that .NET Framework 3.5 is installed on the machine… .NET Framework 3.5 can be downloaded from Microsoft Download Center…
WDP for Visual Studio 2008 - December 2007 CTP release can be downloaded from http://www.microsoft.com/downloads/details.aspx?FamilyId=0FF6B63F-F79D-4590-B619-A2A4E06820F0&displaylang=en
We have ensured that your migration from WDP for VS 2005 to WDP for VS 2008 is as smooth as migration of your Web Site or Web Application itself… Below is a quick step by step tutorial of various scenarios that you might face while migrating…
1. When you try to open your VS 2005 Web Site with VS 2008 you will be prompted with the below dialog box to upgrade to .NET Framework version 3.5:
2. You can choose to upgrade to .NET Framework version 3.5, although it is not necessary… WDP internally uses .NET Framework 3.5 but it does not enforce your website to upgrade to 3.5 version… What this means is that you can still use great VS 2008 features even if your organization is not yet ready to move to .NET Framework 3.5… In my walkthrough I will stick with .NET 2.0 to illustrate that it still works :-)…
3. On clicking "No" your web site should open without WDP in it… Now you will have to go to File --> Add Existing Project option and navigate to the folder where your WDP project file is located (i.e. .wdproj file)… By default you will not see the .wdproj file as WDP is still not an intrinsic project type of VS… Although if you type "*.wdproj" in the "File Name" textbox and hit Open then you will be able to see your WDP project file from VS 2005… Select this file and hit Open…
4. You will now be presented with the Visual Studio conversion dialog as below:
5. Just keep cruising through this Conversion Wizard and you should have your WDP for VS 2005 project migrated to WDP for VS 2008 with all your settings and configurations preserved...
1. If you try to open your VS 2005 Web + WDP in VS 2008 without installing WDP for VS 2008 then using steps 1, 2 & 3 described in the Scenario 1 will result in the following pop-up:
This will block you from moving ahead from WDP standpoint, although if you download and install WDP, you should be able to proceed as described in Step 4 of Scenario 1 above…
2. Instead of opening a WAP or Web Site if you instead try to open your solution file (which will have reference to the WDP project already) then your solution explorer will look as below:
3. If you now install WDP for VS 2008 then you will have to close and reopen your IDE… After restarting your IDE, if you attempt to open the solution file you will be shown the same conversion wizard as described in Step 4 of Scenario 1 above…
Although, if you have not yet opened your VS 2005 Web + WDP in VS 2008 then I will strongly encourage you to first download and install WDP for VS 2008 and then go ahead with your migration...
Based on feedback from multiple users we have enhanced WDP so that it does not wipe out the precompiled web from previous WDP run until the current WDP does not build successfully… This is specifically useful if you have created IIS Virtual directory pointing to the output location... Now even if your current WDP build does not succeed your web site in IIS will still continue to function… At the same time this also implies that it will be important to take a note of the WDP output in the VS output window before grabbing the deployed output for any further processing as your output folder might have the output from the previous build...
WDP for VS 2008 has an option to create IIS virtual directory for the output folder as shown in the WDP image below:
This feature has been enhanced to work great with IIS7 as well… Although do note that you will need to manually set the appropriate folder permissions on the "Output Folder" you define in the "Compilation" section of WDP (e.g. Network Service for IIS6 or IIS_IUSRS for IIS7)… We will consider automating this in the future…
WDP uses aspnet_merge.exe to perform various merge options shown in WDP dialog below:
In VS 2005 timeframe WDP for VS 2005 shipped aspnet_merge.exe in the box… With VS 2008 aspnet_merge.exe ships along with framework SDK, hence WDP for VS 2008 install does not contain aspnet_merge.exe… When you install Visual Studio 2008, aspnet_merge.exe should get automatically installed in "%Program Files%\Microsoft SDKs\Windows\v6.0A\bin" folder… WDP will require aspnet_merge.exe to be present at the above mentioned location to function correctly...
We are hoping that WDP for VS 2008 will help you with your deployment needs and make you web development experience better with Visual Studio 2008... We are eager to hear your feedback and suggestions for improvements hence we are enabling various below mentioned ways by which you can share your experiences...
1. MSConnect Feedback System
2. Web Deployment Projects Forum on http://www.asp.net
There is an active community of WDP users on the ASP.Net forums. WDP team also regularly visits the forums so please feel free to go http://forums.asp.net/1020/ShowForum.aspx to share your feedback or ask queries…
3. Blog Comments
We will be monitoring this blog comments also fairly regularly so feel free to provide your feedback and comments here...
- Vishal R. Joshi | Program Manager | Visual Web Developer Team
As I mentioned last month , VS 2008 fully supports building applications for .NET Framework 2.0... This
Three questions :)
1) How can WDP using multi-processor support, please?
2) Is WDP using .NET Framework 2.0 for the merging?
3) I cannot replace any web.config sections that are with custom dll's. For example, we purchased a 3rd party File Uploaded (called SlickUpload, info here: http://assistedsolutions.com/components/SlickUpload/ and web.config info for the component found here: http://krystalware.com/Products/SlickUpload/Documentation/InstallingSlickUpload.aspx).
How can I tell the WDP that the location of the dll is at XXXXX (eg. c:\temp\My.dll)?
This week my team released updates of the ASP.NET AJAX Control Toolkit as well as the Visual Studio Web
Is the bug with compiling resources described here (http://forums.asp.net/p/1125813/1770481.aspx#1770481) resolved pls ?
I too am getting the web.config replacement section problems like Pure Chrome is getting, three posts above. It's sooo frustrating :(
Could someone please help us by post some solutions, please?
I apologise for the inconvinience that this bug has caused... We will be fixing it in the RTW release next month... There is work around discussed in the forums http://forums.asp.net/t/1189373.aspx and http://forums.asp.net/t/1189079.aspx... Could you look into it and let me know if you need any assistance at Vishal dot Joshi at Microsoft dot com
Answers to your questions inline:
>>>>>1) How can WDP using multi-processor support, please?
WDP cannot support multi-processor yet so there is no setting available to enable it...
>>>>>2) Is WDP using .NET Framework 2.0 for the merging?
WDP is using aspnet_merge.exe from .Net Framework 3.5...
>>>>>3) I cannot replace any web.config sections that are with custom dll's. For example, we purchased a 3rd party File Uploaded (called SlickUpload, info here: http://assistedsolutions.com/components/SlickUpload/ and web.config info for the component found here: http://krystalware.com/Products/SlickUpload/Documentation/InstallingSlickUpload.aspx).
There is a bug in Dec 2007 CTP of WDP which is not allowing the web.config replacement correctly... This issue will be fixed in RTW release of WDP...
>>>>How can I tell the WDP that the location of the dll is at XXXXX (eg. c:\temp\My.dll)?
WDP is tied to your WAP or WebSite... It picks up the referenced assemblies for WAP and WebSite automatically so you not need to tell WDP about your dll location directly. If you want to copy specific files to your WDP output directory you can create an afterbuild MSBuild task for your WDP (chaning the WDP project file) which can do the required copy work...
Hope this helps
Thanks Vishal for the reply :)
The work around you mentioned for Jessica above, worked for me too, but still didn't help with my third issue, as stated above.
When you answered my third issue above, I don't understand what you mean by this :
>>WDP is tied to your WAP or WebSite... It picks up the referenced assemblies for WAP and WebSite automatically so you not need to tell WDP about your dll location directly.
I have my custom dll in my websites BIN directory. At least it's there in my solution. eg. Website\Bin\3rdParty.dll
Therefore, it's like the WDP can't find my custom 3rd party dll.
Is there a way i can confirm this?
Is the 3rd party dll referenced in your website project or are you just copying it into your bin directory manually?
yep, it's definitely referenced in the website. I right-clicked the website-properties -> References -> Krystalware.SlickUpload / BIN / 126.96.36.199939
is it correct the the output directory now is always the TempBuildDir and not the "debug" folder as in visual studio 2005?
Juan Barrera, I'm having the same issue you are. When I build using the WDP, it's adding the following GAC DLL's to my bin folder:
Is there a solution for this?
It's related with AjaxControlToolkit, it's a known issue, and they are looking for a solution.
In the meantime, my workaround is adding the following to the AfterBuild target:
<Delete Files="$(OutputPath)\Bin\System.Web.dll" />
<Delete Files="$(OutputPath)\Bin\System.EnterpriseServices.dll" />
<Delete Files="$(OutputPath)\Bin\System.EnterpriseServices.Wrapper.dll" />
<Delete Files="$(OutputPath)\Bin\System.Data.dll" />
<Delete Files="$(OutputPath)\Bin\System.Data.OracleClient.dll" />
<Delete Files="$(OutputPath)\Bin\System.Transactions.dll" />
<Delete Files="$(SourceWebPhysicalPath)\Bin\System.Web.dll" />
<Delete Files="$(SourceWebPhysicalPath)\Bin\System.EnterpriseServices.dll" />
<Delete Files="$(SourceWebPhysicalPath)\Bin\System.EnterpriseServices.Wrapper.dll" />
<Delete Files="$(SourceWebPhysicalPath)\Bin\System.Data.dll" />
<Delete Files="$(SourceWebPhysicalPath)\Bin\System.Data.OracleClient.dll" />
<Delete Files="$(SourceWebPhysicalPath)\Bin\System.Transactions.dll" />
Thank you Rasetti, your suggestion will work great until they have a chance to fix the problem!