200 likes | 324 Views
Web Deployment Projects Targeting your Development, Staging and Production Environments. Eli Robillard, Knowledge Systems Practice Lead. Resources. This presentation and related links
E N D
Web Deployment ProjectsTargeting your Development, Staging and Production Environments.EliRobillard, Knowledge Systems Practice Lead
Resources This presentation and related links http://weblogs.asp.net/erobillard/archive/2006/06/16/Web-Deployment-Project_2C00_-MSBuild_2C00_-and-WAP-Resources.aspx My Weblog http://weblogs.asp.net/erobillard
Tonight VS 2005 Web Project System. MSBuild. Web Deployment Projects.
The Web Project System Changes: FrontPage Server Extensions not required. Built-in development server (Cassini). The folder is the project. Options beyond the monolithic assembly.
The Web Project System Further reading: Google: vs2005 "web project“ Scott Guthrie’s Weblog: http://webproject.scottgu.com/ http://weblogs.asp.net/scottgu/archive/2005/08/21/423201.aspx
MSBuild MSBuild is a fully extensible build system shipping with the .NET Framework 2.0. MSBuild is seamlessly integrated with Visual Studio 2005. An XML format to describe a project's properties, items, and build process. You extend the build process by writing managed code (tasks and loggers). You don't need the IDE to build a project.
Abracadabra VS Build System VS Build System Pre build step 0011010101 1110010110 1101100111 0010100111 Post build step Produces Authors PROJECT FILE - $%#^$&% - @$#%$^# Final Product Visual Studio .NET 2002/2003 Feeds
Final Product MSBuild Produces Authors Feeds Authors DEVELOPER MSBuild Design Goals PROJECT FILE <Project> <Property … /> <Item … /> <Target … /> </Project>
MSBuild concept of "build" SCC Unit Test Obfuscate Send E-mail Build MSBuild Build VS .NET 2002/2003 concept of "build"
MSBuild MSBuild is a fully extensible build system shipping with the .NET Framework 2.0. MSBuild is seamlessly integrated with Visual Studio 2005. An XML format to describe a project's properties, items, and build process. You extend the build process by writing managed code (tasks and loggers). You don't need the IDE to build a project.
MSBuild Advantages Compile .aspx, .ascx, and .master pages. Generate assemblies per application, folder, or file. Allow writing custom pre- and post-build events.
MSBuild Project File <Project xmlns=“http://schemas.microsoft.com/developer/msbuild/2003”> <PropertyGroup> <AppName>MyCoolApp</AppName> <DebugSymbols>true</DebugSymbols> <OutputAssembly>$(AppName).exe</OutputAssembly> </PropertyGroup> <ItemGroup> <Compile Include=“Hello.cs” /> <Compile Include=“Program.cs” /> </ItemGroup> <Target Name=“Build”> <Message Text=“Executing Build Target for App $(AppName)” /> <Csc Sources=“@(Compile)” EmitDebugInformation=“$(DebugSymbols)” OutputAssembly=“$(OutputAssembly)”/> </Target> <Import Project=“Microsoft.CSharp.targets” /> </Project>
Demo MSBuild
Web Deployment Projects An add-in for Visual Studio 2005. WDP provides a wizard-like interface for MSBuild project files.
Web Deployment Projects Inherit MSBuild Advantages Compile .aspx, .ascx, and .master pages. Pre-compile your site during the build process. Generate assemblies per application, folder, or file. Allow writing custom pre- and post-build events. Exclude files or folders from the build.
Web Deployment Projects: Additional Advantages Create different Build processes with different file and resource inclusions per target environment. Easier than editing the MSBuild project file.
Demo Web Deployment Projects
The Web Deployment Project • Resources • MSN/Google: msbuild "web deployment project" • Visual Studio 2005 Web Deployment Projects • Scott Guthrie: VS 2005 Web Deployment Projects • Douglas Rohm: Customizing Web Deployments with MSBuild
Resources This presentation and related links http://weblogs.asp.net/erobillard/archive/2006/06/16/Web-Deployment-Project_2C00_-MSBuild_2C00_-and-WAP-Resources.aspx My Weblog http://weblogs.asp.net/erobillard
Web Deployment ProjectsTargeting your Development, Staging and Production Environments.EliRobillard, Knowledge Systems Practice Lead