DNN Blog

Jul 15

Posted by: Philip Beadle
Tuesday, July 15, 2008 12:00 AM  RssIcon

Had a few requests for more details on how Im auto packaging and developing the Help.  So here it is.

<?xmlversion="1.0"encoding="utf-8"?>
<ProjectDefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003"ToolsVersion="3.5">
     <PropertyGroup>
          <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
          <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
          <ProductVersion>9.0.30428</ProductVersion>
          <SchemaVersion>2.0</SchemaVersion>
          <ProjectGuid>{4669A23C-BC31-45DA-A801-E81899A9582D}</ProjectGuid>
          <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
          <OutputType>Library</OutputType>
          <RootNamespace>
          </RootNamespace>
          <AssemblyName>DotNetNuke.Modules.Help</AssemblyName>
          <FileUpgradeFlags>
          </FileUpgradeFlags>
          <OldToolsVersion>3.5</OldToolsVersion>
          <OptionExplicit>On</OptionExplicit>
          <OptionCompare>Binary</OptionCompare>
          <OptionStrict>Off</OptionStrict>
          <OptionInfer>On</OptionInfer>
          <UpgradeBackupLocation>
          </UpgradeBackupLocation>
          <SccProjectName>SAK</SccProjectName>
          <SccLocalPath>SAK</SccLocalPath>
          <SccAuxPath>SAK</SccAuxPath>
          <SccProvider>SAK</SccProvider>
     </PropertyGroup>
     <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
          <DebugSymbols>true</DebugSymbols>
          <DebugType>full</DebugType>
          <DefineDebug>true</DefineDebug>
          <DefineTrace>true</DefineTrace>
          <OutputPath>Bin\</OutputPath>
          <DocumentationFile>DotNetNuke.Modules.Help.xml</DocumentationFile>
          <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
          <RunCodeAnalysis>false</RunCodeAnalysis>
     </PropertyGroup>
     <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
          <DebugType>pdbonly</DebugType>
          <DefineDebug>false</DefineDebug>
          <DefineTrace>true</DefineTrace>
          <Optimize>true</Optimize>
          <OutputPath>..\..\bin\</OutputPath>
          <DocumentationFile>DotNetNuke.Modules.Help.xml</DocumentationFile>
          <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
     </PropertyGroup>
     <ItemGroup>
          <Reference Include="DotNetNuke, Version=5.0.0.145, Culture=neutral, processorArchitecture=MSIL">
              <SpecificVersion>False</SpecificVersion>
               <HintPath>..\..\Releases\DotNetNuke_05.00.00_Install_BETA5\Bin\DotNetNuke.dll</HintPath>
          </Reference>
          <Reference Include="Microsoft.ApplicationBlocks.Data, Version=2.0.0.0, Culture=neutral">
              <SpecificVersion>False</SpecificVersion>
               <HintPath>..\..\Releases\DotNetNuke_05.00.00_Install_BETA5\Bin\Microsoft.ApplicationBlocks.Data.dll</HintPath>
          </Reference>
          <Reference Include="System" />
          <Reference Include="System.Data" />
          <Reference Include="System.Drawing" />
          <Reference Include="System.Web" />
          <Reference Include="System.Xml" />
          <Reference Include="System.Configuration" />
          <Reference Include="System.Web.Services" />
          <Reference Include="System.EnterpriseServices" />
          <Reference Include="System.Web.Mobile" />
     </ItemGroup>
     <ItemGroup>
          <Import Include="DotNetNuke" />
          <Import Include="DotNetNuke.Modules" />
          <Import Include="Microsoft.VisualBasic" />
          <Import I nclude="System" />
          <Import Include="System.Collections" />
          <Import Include="System.Collections.Generic" />
          <Import Include="System.Data" />
          <Import Include="System.Diagnostics" />
          <Import Include="System.Collections.Specialized" />
          <Import Include="System.Configuration" />
          <Import Include="System.Text" />
          <Import Include="System.Text.RegularExpressions" />
          <Import Include="System.Web" />
          <Import Include="System.Web.Caching" />
          <Import Include="System.Web.SessionState" />
          <Import Include="System.Web.Security" />
          <Import Include="System.Web.Profile" />
          <Import Include="System.Web.UI" />
          <Import Include="System.Web.UI.WebControls" />
          <Import Include="System.Web.UI.WebControls.WebParts" />
          <Import Include="System.Web.UI.HtmlControls" />
     </ItemGroup>
     <ItemGroup>
          <Compile Include="Components\HelpCategoryInfo.vb" />
          <Compile Include="Components\Controller\HelpCategoryController.vb" />
          <Compile Include="Components\Controller\IHelpCategoryController.vb" />
          <Compile Include="Components\DataProvider\IDataProvider.vb" />
          <Compile Include="Components\Presenters\EditHelpCategoryPresenter.vb" />
          <Compile Include="Components\Presenters\ViewHelpCategoryPresenter.vb" />
          <Compile Include="Components\Presenters\EditHelpTutorialPresenter.vb">
          </Compile>
          <Compile Include="Components\Presenters\ViewHelpTutorialPresenter.vb">
          </Compile>
          <Compile Include="Components\Controller\HelpTutorialController.vb" />
          <Compile Include="Components\HelpTutorialInfo.vb" />
          <Compile Include="Components\DataProvider\SqlDataProvider.vb" />
          <Compile Include="Components\Views\IEditHelpCategory.vb" />
          <Compile Include="Components\Views\IViewHelpCategory.vb" />
          <Compile Include="Components\Views\IEditHelpTutorial.vb" />
          <Compile Include="Components\Views\IModuleSettingsBaseView.vb" />
          <Compile Include="Components\Controller\IHelpTutorialController.vb" />
          <Compile Include="Components\Views\IViewHelpTutorial.vb" />
          <Compile Include="EditHelpCategory.ascx.designer.vb">
              <DependentUpon>EditHelpCategory.ascx</DependentUpon>
          </Compile>
          <Compile Include="EditHelpCategory.ascx.vb">
              <DependentUpon>EditHelpCategory.ascx</DependentUpon>
              <SubType>ASPXCodeBehind</SubType>
          </Compile>
          <Compile Include="ViewHelpCategory.ascx.designer.vb">
              <DependentUpon>ViewHelpCategory.ascx</DependentUpon>
          </Compile>
          <Compile Include="ViewHelpCategory.ascx.vb">
              <DependentUpon>ViewHelpCategory.ascx</DependentUpon>
              <SubType>ASPXCodeBehind</SubType>
          </Compile>
          <Compile Include="EditHelpTutorial.ascx.designer.vb">
              <DependentUpon>EditHelpTutorial.ascx</DependentUpon>
          </Compile>
          <Compile Include="EditHelpTutorial.ascx.vb">
              <DependentUpon>EditHelpTutorial.ascx</DependentUpon>
              <SubType>ASPXCodeBehind</SubType>
          </Compile>
          <Compile Include="Settings.ascx.designer.vb">
              <DependentUpon>Settings.ascx</DependentUpon>
          </Compile>
          <Compile Include="Settings.ascx.vb">
              <DependentUpon>Settings.ascx</DependentUpon>
              <SubType>ASPXCodeBehind</SubType>
          </Compile>
          <Compile Include="ViewHelpTutorial.ascx.designer.vb">
              <DependentUpon>ViewHelpTutorial.ascx</DependentUpon>
          </Compile>
          <Compile Include="ViewHelpTutorial.ascx.vb">
              <DependentUpon>ViewHelpTutorial.ascx</DependentUpon>
              <SubType>ASPXCodeBehind</SubType>
          </Compile>
     </ItemGroup>
     <ItemGroup>
          <Content Include="App_LocalResources\ViewHelpTutorial.ascx.resx" />
          <Content Include="App_LocalResources\Settings.ascx.resx">
              <SubType>Designer</SubType>
          </Content>
          <Content Include="Help.dnn" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.00.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.01.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.02.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.03.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.04.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.05.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.06.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\02.00.07.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\03.00.00.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\03.00.01.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\03.00.02.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\03.01.00.SqlDataProvider" />
          <Content Include="Providers\DataProviders\SqlDataProvider\Uninstall.SqlDataProvider" />
     </ItemGroup>
     <ItemGroup>
          <Content Include="EditHelpCategory.ascx" />
          <Content Include="ViewHelpCategory.ascx" />
          <Content Include="Documentation\Documentation.css" />
          <Content Include="Documentation\Documentation.html" />
          <Content Include="Documentation\logo.gif" />
          <Content Include="EditHelpTutorial.ascx" />
          <Content Include="Settings.ascx" />
          <Content Include="ViewHelpTutorial.ascx" />
     </ItemGroup>
     <ItemGroup>
          <Content Include="App_LocalResources\EditHelpTutorial.ascx.resx">
              <SubType>Designer</SubType>
          </Content>
     </ItemGroup>
     <ItemGroup>
          <Content Include="App_LocalResources\ViewHelpCategory.ascx.resx">
              <SubType>Designer</SubType>
          </Content>
     </ItemGroup>
     <ItemGroup>
          <Content Include="App_LocalResources\EditHelpCategory.ascx.resx">
              <SubType>Designer</SubType>
          </Content>
     </ItemGroup>
     <ItemGroup>
          <ZipSourceFilesInclude="App_LocalResources\EditHelpCategory.ascx.resx" />
          <ZipSourceFilesInclude="App_LocalResources\EditHelpTutorial.ascx.resx" />
          <ZipSourceFilesInclude="App_LocalResources\Settings.ascx.resx" />
          <ZipSourceFilesInclude="App_LocalResources\ViewHelpCategory.ascx.resx" />
          <ZipSourceFilesInclude="App_LocalResources\ViewHelpTutorial.ascx.resx" />
          <ZipSourceFilesInclude="Bin\DotNetNuke.Modules.Help.dll" />
          <ZipSourceFilesInclude="Bin\DotNetNuke.Modules.Help.pdb" />
          <ZipSourceFilesInclude="Bin\DotNetNuke.Modules.Help.xml" />
          <ZipSourceFilesInclude="Components\Controller\HelpCategoryController.vb" />
          <ZipSourceFilesInclude="Components\Controller\HelpTutorialController.vb" />
          <ZipSourceFilesInclude="Components\Controller\IHelpCategoryController.vb" />
          <ZipSourceFilesInclude="Components\Controller\IHelpTutorialController.vb" />
          <ZipSourceFilesInclude="Components\DataProvider\IDataProvider.vb" />
          <ZipSourceFilesInclude="Components\DataProvider\SqlDataProvider.vb" />
          <ZipSourceFilesInclude="Components\DataProvider\_sgbak\IDataProvider.vb.2008-07-09.14-20-05.0763" />
          <ZipSourceFilesInclude="Components\DataProvider\_sgbak\SqlDataProvider.vb.2008-07-09.14-20-05.0233" />
          <ZipSourceFilesInclude="Components\HelpCategoryInfo.vb" />
          <ZipSourceFilesInclude="Components\HelpTutorialInfo.vb" />
          <ZipSourceFilesInclude="Components\Presenters\EditHelpCategoryPresenter.vb" />
          <ZipSourceFilesInclude="Components\Presenters\EditHelpTutorialPresenter.vb" />
          <ZipSourceFilesInclude="Components\Presenters\ViewHelpCategoryPresenter.vb" />
          <ZipSourceFilesInclude="Components\Presenters\ViewHelpTutorialPresenter.vb" />
          <ZipSourceFilesInclude="Components\Presenters\_sgbak\ViewHelpTutorialPresenter.vb.2008-07-09.14-20-04.9523" />
          <ZipSourceFilesInclude="Components\Views\IEditHelpCategory.vb" />
          <ZipSourceFilesInclude="Components\Views\IEditHelpTutorial.vb" />
          <ZipSourceFilesInclude="Components\Views\IModuleSettingsBaseView.vb" />
          <ZipSourceFilesInclude="Components\Views\IViewHelpCategory.vb" />
          <ZipSourceFilesInclude="Components\Views\IViewHelpTutorial.vb" />
          <ZipSourceFilesInclude="Components\_sgbak\HelpTutorialInfo.vb.2008-06-18.21-02-07.9512" />
          <ZipSourceFilesInclude="Components\_sgbak\HelpTutorialInfo.vb.2008-06-20.06-58-52.6421" />
          <ZipSourceFilesInclude="DNN_Help.sln" />
          <ZipSourceFilesInclude="DNN_Help.suo" />
          <ZipSourceFilesInclude="DNN_Help.vsmdi" />
          <ZipSourceFilesInclude="DNN_Help.vssscc" />
          <ZipSourceFilesInclude="Documentation\Documentation.css" />
          <ZipSourceFilesInclude="Documentation\Documentation.html" />
          <ZipSourceFilesInclude="Documentation\logo.gif" />
          <ZipSourceFilesInclude="DotNetNuke.Modules.Help.vbproj" />
          <ZipSourceFilesInclude="DotNetNuke.Modules.Help.vbproj.user" />
          <ZipSourceFilesInclude="DotNetNuke.Modules.Help.vbproj.vspscc" />
          <ZipSourceFilesInclude="EditHelpCategory.ascx" />
          <ZipSourceFilesInclude="EditHelpCategory.ascx.designer.vb" />
          <ZipSourceFilesInclude="EditHelpCategory.ascx.vb" />
          <ZipSourceFilesInclude="EditHelpTutorial.ascx" />
          <ZipSourceFilesInclude="EditHelpTutorial.ascx.designer.vb" />
          <ZipSourceFilesInclude="EditHelpTutorial.ascx.vb" />
          <ZipSourceFilesInclude="Help.dnn" />
          <ZipSourceFilesInclude="Help.testrunconfig" />
          <ZipSourceFilesInclude="LocalTestRun.testrunconfig" />
          <ZipSourceFilesInclude="obj\Debug\DNN_Help.vbproj.FileListAbsolute.txt" />
          <ZipSourceFilesInclude="obj\Debug\DotNetNuke.Modules.Help.dll" />
          <ZipSourceFilesInclude="obj\Debug\DotNetNuke.Modules.Help.pdb" />
          <ZipSourceFilesInclude="obj\Debug\DotNetNuke.Modules.Help.vbproj.FileListAbsolute.txt" />
          <ZipSourceFilesInclude="obj\Debug\DotNetNuke.Modules.Help.xml" />
          <ZipSourceFilesInclude="obj\Debug\ResolveAssemblyReference.cache" />
          <ZipSourceFilesInclude="obj\Debug\TestDrivenDNNModule.vbproj.FileListAbsolute.txt" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.00.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.01.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.02.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.03.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.04.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.05.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.06.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\02.00.07.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\03.00.00.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\03.00.01.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\03.00.02.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\03.01.00.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\04.00.00.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\Uninstall.SqlDataProvider" />
          <ZipSourceFilesInclude="Providers\DataProviders\SqlDataProvider\_sgbak\04.00.00.SqlDataProvider.2008-07-09.14-20-04.8363" />
          <ZipSourceFilesInclude="Settings.ascx" />
          <ZipSourceFilesInclude="Settings.ascx.designer.vb" />
          <ZipSourceFilesInclude="Settings.ascx.vb" />
          <ZipSourceFilesInclude="ViewHelpCategory.ascx" />
          <ZipSourceFilesInclude="ViewHelpCategory.ascx.designer.vb" />
          <ZipSourceFilesInclude="ViewHelpCategory.ascx.vb" />
          <ZipSourceFilesInclude="ViewHelpTutorial.ascx" />
          <ZipSourceFilesInclude="ViewHelpTutorial.ascx.designer.vb" />
          <ZipSourceFilesInclude="ViewHelpTutorial.ascx.vb" />
          <ZipSourceFilesInclude="_sgbak\DNN_Help.sln.2008-07-01.23-43-52.9647" />
          <ZipSourceFilesInclude="_sgbak\DNN_Help.sln.2008-07-09.14-20-04.8983" />
          <ZipSourceFilesInclude="_sgbak\DotNetNuke.Modules.Help.vbproj.2008-07-09.14-20-04.8653" />
          <ZipSourceFilesInclude="_sgbak\ViewHelpTutorial.ascx.2008-07-09.14-20-04.6543" />
          <ZipSourceFilesInclude="_sgbak\ViewHelpTutorial.ascx.designer.vb.2008-07-09.14-20-04.6323" />
          <ZipSourceFilesInclude="_sgbak\ViewHelpTutorial.ascx.vb.2008-07-09.14-20-04.4963" />
     </ItemGroup>
     <ItemGroup>
          <PackageFilesInclude="Documentation\Help_04.00.00_ReleaseNotes.txt" />
          <PackageFilesInclude="Documentation\Help_04.00.00_TestCases.txt" />
     </ItemGroup>
     <ItemGroup>
          <FolderInclude="My Project\" />
     </ItemGroup>
     <ImportProject="$(MSBuildBinPath)\Microsoft.VisualBasic.targets" />
     <ImportProject="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets"Condition="" />
     <ImportProject="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
     <ProjectExtensions>
          <VisualStudio>
              <FlavorPropertiesGUID="{349c5851-65df-11da-9384-00065b846f21}">
                   <WebProjectProperties>
                        <UseIIS>False</UseIIS>
                        <AutoAssignPort>True</AutoAssignPort>
                        <DevelopmentServerPort>4827</DevelopmentServerPort>
                        <DevelopmentServerVPath>/</DevelopmentServerVPath>
                        <IISUrl>http://DotNetNuke.Cambrian</IISUrl>
                        <OverrideIISAppRootUrl>True</OverrideIISAppRootUrl>
                        <IISAppRootUrl>http://DotNetNuke.Cambrian</IISAppRootUrl>
                        <NTLMAuthentication>False</NTLMAuthentication>
                        <UseCustomServer>False</UseCustomServer>
                        <CustomServerUrl>
                        </CustomServerUrl>
                        <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
                   </WebProjectProperties>
              </FlavorProperties>
          </VisualStudio>
     </ProjectExtensions>
     <PropertyGroup>
          <PostBuildEvent>
          </PostBuildEvent>
     </PropertyGroup>
     <TargetName="AfterBuild"DependsOnTargets="DeployModule">
     </Target>
     <PropertyGroup>
          <Major>04</Major>
          <Minor>00</Minor>
          <Build>00</Build>
     </PropertyGroup>
     <PropertyGroup>
          <ModuleFolder>Help</ModuleFolder>
          <DNNDirectory>C:\DotNetNuke\Releases\DotNetNuke_05.00.00_Install_BETA5</DNNDirectory>
          <PackageDirectory>C:\DotNetNuke\Help Module\Packages</PackageDirectory>
     </PropertyGroup>
     <TargetName="DeployModule">
          <CreateItemInclude="$(MSBuildProjectDirectory)\$(OutputPath)\*.dll">
              <OutputTaskParameter="Include"ItemName="ModuleAssemblies" />
          </CreateItem>
          <CreateItemInclude="$(MSBuildProjectDirectory)\$(OutputPath)\*.pdb">
              <OutputTaskParameter="Include"ItemName="ModuleDebug" />
          </CreateItem>
          <CopySourceFiles="@(Content)"DestinationFiles="@(Content -> '$(DNNDirectory)\DesktopModules\$(ModuleFolder)\%(Identity)')"SkipUnchangedFiles="true" />
          <CopySourceFiles="@(ModuleAssemblies);@(ModuleDebug)"DestinationFolder="$(DNNDirectory)\bin" />
          <ZipFiles="@(Content);@(ModuleAssemblies)"Flatten="True"ZipFileName="$(ProjectName)_$(Major).$(Minor).$(Build)_Install.zip" />
          <ZipFiles="@(ZipSourceFiles)"Flatten="True"ZipFileName="resources.zip" />
          <ZipFiles="@(Content);@(ModuleAssemblies);resources.zip"Flatten="True"ZipFileName="$(ProjectName)_$(Major).$(Minor).$(Build)_Source.zip" />
          <ZipFiles="@(PackageFiles);$(ProjectName)_$(Major).$(Minor).$(Build)_Install.zip;$(ProjectName)_$(Major).$(Minor).$(Build)_Source.zip"Flatten="True"ZipFileName="$(ProjectName)_$(Major).$(Minor).$(Build)_package.zip" />
          <CopySourceFiles="$(ProjectName)_$(Major).$(Minor).$(Build)_package.zip"DestinationFolder="$(PackageDirectory)" />
     </Target>
</Project>

There should be spaces between the broan and red words, seems pasting from Word screws it up a bit.  So the way this works is that you build your module in a folder away from the web site that will host the module.  In my case the source is in C:\DotNetNuke\Help Module\Solution and the web site Im using is in C:\DotNetNuke\Releases\DotNetNuke_05.00.00_Install_BETA5  .  So when I build this project the dlls, pdbs, resx, css, dnn and the ascx files are copied over to the web site into C:\DotNetNuke\Releases\DotNetNuke_05.00.00_Install_BETA5\DesktopModules\Help.  This allows me to debug by navigating to the site and then attching to the w3p.exe process.

The copying over is done by the 

          <CopySourceFiles="@(Content)"DestinationFiles="@(Content -> '$(DNNDirectory)\DesktopModules\$(ModuleFolder)\%(Identity)')"SkipUnchangedFiles="true" />

          <CopySourceFiles="@(ModuleAssemblies);@(ModuleDebug)"DestinationFolder="$(DNNDirectory)\bin" /> 

This says that any files marked as Content will be copied over plus the dlls and pdb files.

Next up the 
<ZipFiles="@(Content);@(ModuleAssemblies)"Flatten="True"ZipFileName="$(ProjectName)_$(Major).$(Minor).$(Build)_Install.zip" />

 gathers the Content files and the assemblies and packages them into a zip file for Installation.

Then all the files in the 
<ItemGroup>

          <ZipSourceFilesInclude="

are zipped up into the resources.zip file

<ZipFiles="@(ZipSourceFiles)"Flatten="True"ZipFileName="resources.zip" />

I then gatehr then resources.zip, the content files and the assemblies and create the Source zip:

<ZipFiles="@(Content);@(ModuleAssemblies);resources.zip"Flatten="True"ZipFileName="$(ProjectName)_$(Major).$(Minor).$(Build)_Source.zip" />

Once that is done I get the Install and the Source files and add in the two packageFiles which are the release notes and the tests to create the package file

<ZipFiles="@(PackageFiles);$(ProjectName)_$(Major).$(Minor).$(Build)_Install.zip;$(ProjectName)_$(Major).$(Minor).$(Build)_Source.zip"Flatten="True"ZipFileName="$(ProjectName)_$(Major).$(Minor).$(Build)_package.zip" />

Then copy the files to the PackageDirectory with

<CopySourceFiles="$(ProjectName)_$(Major).$(Minor).$(Build)_package.zip"DestinationFolder="$(PackageDirectory)" />

This occurs on each build.  Ill probably fine tune this by getting the version out of the dnn file and only doing the packaging when the build is in release mode.  However at this point all the files I need for the release process are created automatically and consistently which is what I wanted.

Tags:
Categories:
Location: Blogs Parent Separator Philip Beadle

10 comment(s) so far...


Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

that is a very creative styling of your code ;-)

By leupold on   Tuesday, July 15, 2008 8:24 PM

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Works a treat, plus one of my Help team guys has some tweaks that pull the version from the dnn file that we'll add in soon.

By philip.beadle on   Tuesday, July 15, 2008 8:25 PM

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

The bummer for using this instead of nAnt is that you need to recopy all Include files, it does not reference automatically all project files.

By hooligannes on   Wednesday, July 16, 2008 9:45 AM

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Nestor that gives me an idea. I could probably ditch the ZipSourceFiles type and use the Compile type. Ill give it a go and see what happens.

By philip.beadle on   Wednesday, July 16, 2008 9:46 AM

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Hello, I am getting follwoing error

Error 3 The "Zip" 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 in the project file, or in the *.tasks files located in the "E:\WINDOWS\Microsoft.NET\Framework\v3.5" directory. C:\DNN\DNN49\DesktopModules\bhattji.Catalogs\bhattji.Modules.Catalogs.csproj 456 5 bhattji.Modules.Catalogs


any help ?

By IndianGuru on   Wednesday, November 19, 2008 9:20 AM
Gravatar

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

IndianGuru you will need to install the MSBuild Community Tasks from here msbuildtasks.tigris.org/

By Philip Beadle on   Wednesday, November 19, 2008 9:21 AM
Gravatar

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Hey Phil, did you ever try to implement the Compile type? What you've done looks almost right up my alley as I'm trying to get a clean solution that doesn't require .target files or Nant files.

By Mike Horton on   Wednesday, September 30, 2009 3:39 PM
Gravatar

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Mike, no I havent changed this at all expcet to add a condition to check for TFS.

By Philip Beadle on   Wednesday, September 30, 2009 3:39 PM
Gravatar

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Thanks Phil, I just gave it a shot with my project and it seems to work. The only problem I've run into so far is that (this is on the first try) the directory structure wasn't remembered when creating the install.zip.

By Mike Horton on   Monday, October 19, 2009 1:22 PM
Gravatar

Re: Complete vbproj file for Help Module to explain the packaging in MSBuild

Figured it out Phil. It was the Flatten="True". This is great. Now I just need to get automatic build increments and I'm laughing.

By Mike Horton on   Monday, October 19, 2009 1:22 PM
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft .NET. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.