九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
項目管理實踐【五】自動編譯和發(fā)布網(wǎng)站【Using Visual Studio with Source Control System to build and publish website autom

在上一篇教程項目管理實踐【三】每日構(gòu)建【Daily Build Using CruiseControl.NET and MSBuild】 中,我們講解了如何使用CCNET+MSBuild來自動編譯項目,今天我們講解一下怎么使用MSBuild+WebDeployment+Robocopy自動編譯過和部署ASP.NET網(wǎng)站。
首先安裝下面的三個軟件:

1.MSBuild.Community.Tasks下載:
http://msbuildtasks.tigris.org/files/documents/3383/28296/MSBuild.Community.Tasks.msi

源代碼:
http://msbuildtasks.tigris.org/files/documents/3383/36642/MSBuild.Community.Tasks.v1.2.0.306.zip

 2.WebDeployment下載:

For VS2005
http://download.microsoft.com/download/9/4/9/9496adc4-574e-4043-bb70-bc841e27f13c/WebDeploymentSetup.msi

For VS2008 [RTW]
http://download.microsoft.com/download/9/4/9/9496adc4-574e-4043-bb70-bc841e27f13c/WebDeploymentSetup.msi

 3.Utility Spotlight Robocopy GUI 下載:【下載后,解壓后安裝,Vista不用安裝】
http://download.microsoft.com/download/f/d/0/fd05def7-68a1-4f71-8546-25c359cc0842/UtilitySpotlight2006_11.exe

安裝完成后,就開始今天的教程了。

我們以前面教程中創(chuàng)建的StartKit解決方案為例子,結(jié)構(gòu)如下:

在上圖所示的Web項目StartKit上右鍵點(diǎn)擊,然后點(diǎn)擊Add Web Deployment Project…,如下圖:

 彈出下面的窗體,分別輸入部署項目名稱和項目要放置的位置,如下圖:

 點(diǎn)擊OK按鈕后,解決方案的結(jié)構(gòu)如下圖:

今天會講到下面二個方法,上面的步驟一樣,從這里開始,下面的步驟有區(qū)別。

方法一:使用WebDeployment創(chuàng)建虛擬目錄

優(yōu)點(diǎn):使用簡單

缺點(diǎn):功能不夠強(qiáng)大,只能部署到虛擬目錄

右鍵點(diǎn)擊部署項目,點(diǎn)擊菜單中的Property Pages,如下圖:

在下面的窗體中,點(diǎn)擊左側(cè)的Complication,在右側(cè)的Output Folder下的文本框中輸入編譯后網(wǎng)站文件的輸出路徑:

 然后,點(diǎn)擊左側(cè)的Deploment,在右側(cè)選中Create an IIS virtual directory for the output folder前面的CheckBox,在下面的Virtual directory name下的文本框中輸入虛擬目錄的名字,Replace the existing virtual directory前面的CheckBox根據(jù)實際情況確定是否選中,如下圖:

 點(diǎn)擊確定按鈕,編譯部署項目StartKit.csproj_deploy,編譯成功后,我們打開IIS,在默認(rèn)網(wǎng)站下可以看到虛擬目錄StartKit。OK,成功了!

方法二:使用WebDeployment+MSBuild+Robocopy

優(yōu)點(diǎn):功能強(qiáng)大

缺點(diǎn):配置有點(diǎn)麻煩

這個方法不用配置Property Pages,直接右鍵點(diǎn)擊StartKit.csproj_deploy項目文件,在菜單中點(diǎn)擊Open Project File打開部署項目文件:

修改部署項目文件為下面的內(nèi)容:

  1 <!--Microsoft Visual Studio 2008 Web Deployment Project http://go.microsoft.com/fwlink/?LinkID=104956-->
  2 
  3 <Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  4 <PropertyGroup>
  5 <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
  6 <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
  7 <ProductVersion>9.0.21022</ProductVersion>
  8 <SchemaVersion>2.0</SchemaVersion>
  9 <ProjectGuid>{00000000-0000-0000-0000-000000000000}</ProjectGuid>
 10 <SourceWebPhysicalPath>..\StartKit</SourceWebPhysicalPath>
 11 <SourceWebProject>{96E1A089-3FBB-4909-94F6-172665994449}|StartKit\StartKit.csproj</SourceWebProject>
 12 <SourceWebVirtualPath>/StartKit.csproj</SourceWebVirtualPath>
 13 <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
 14 <ProjectName>StartKit</ProjectName>
 15 <Major>1</Major>
 16 <Minor>0</Minor>
 17 <Revision>0</Revision>
 18 <VSSName>ttzhang</VSSName>
 19 <VSSPassword>123456</VSSPassword>
 20 <FtpName>anonymous</FtpName>
 21 <FtpPassword>anonymous</FtpPassword>
 22 <SmtpServerName>smtp.163.com</SmtpServerName>
 23 <FromAddress>ttzhang@163.com</FromAddress>
 24 <ToAddress>zttc@163.com</ToAddress>
 25 <MailPassword>testmail</MailPassword>
 26 </PropertyGroup>
 27 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 28 <DebugSymbols>true</DebugSymbols>
 29 <OutputPath>.\Debug</OutputPath>
 30 <EnableUpdateable>true</EnableUpdateable>
 31 <UseMerge>true</UseMerge>
 32 <SingleAssemblyName>StartKit_deploy</SingleAssemblyName>
 33 </PropertyGroup>
 34 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 35 <DebugSymbols>false</DebugSymbols>
 36 <OutputPath>.\Release</OutputPath>
 37 <EnableUpdateable>true</EnableUpdateable>
 38 <UseMerge>true</UseMerge>
 39 <SingleAssemblyName>StartKit_deploy</SingleAssemblyName>
 40 </PropertyGroup>
 41 <ItemGroup>
 42 </ItemGroup>
 43 <!--下面的ItemGroup節(jié)點(diǎn)可選,這個和項目文件StartKit.csproj中的內(nèi)容相同-->
 44 <ItemGroup>
 45 <ProjectReference Include="..\BLL\BLL.csproj">
 46 <Project>{73A293A1-CDCC-4919-9B05-BA2531ADDB56}</Project>
 47 <Name>BLL</Name>
 48 </ProjectReference>
 49 <ProjectReference Include="..\DAL\DAL.csproj">
 50 <Project>{AFF6077D-DD2D-48A0-BFAD-051BD67A6953}</Project>
 51 <Name>DAL</Name>
 52 </ProjectReference>
 53 <ProjectReference Include="..\IBLL\IBLL.csproj">
 54 <Project>{620770BB-7A27-4585-9B97-44EEE349121D}</Project>
 55 <Name>IBLL</Name>
 56 </ProjectReference>
 57 <ProjectReference Include="..\Model\Model.csproj">
 58 <Project>{EA43EC2E-5890-4431-BD3E-5F6C090DEA3A}</Project>
 59 <Name>Model</Name>
 60 </ProjectReference>
 61 </ItemGroup>
 62 <!--引入MSBuildCommunityTasks-->
 63 <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
 64 <!--郵件發(fā)送-->
 65 <!--<Target Name="EmailTest" >
 66 <Message Text = " Mail sending
"></Message>
 67 <Mail SmtpServer="$(SmtpServerName)"
 68 Subject="Test"
 69 Password="$(MailPassword)"
 70 From ="$(FromAddress)"
 71 To ="$(ToAddress)"
 72 Body="This is a test of the mail task." />
 73 </Target>-->
 74 <!--備份文件到FTP-->
 75 <!--<Target Name="Backup" DependsOnTargets="Zip" >
 76 <FtpUpload UserName="$(FtpName)"
 77 Password="$(FtpPassword)"
 78 LocalFile="$(ZipFileName)"
 79 RemoteUri="ftp://192.168.1.2/SourceBackup/$(ZipFileName)" />
 80 <OnError ExecuteTargets="HandleErrorBackup" />
 81 </Target>-->
 82 <!--備份文件到FTP失敗則發(fā)送郵件-->
 83 <!--<Target Name="HandleErrorBackup">
 84 <Message Text="Backup failed
" />
 85 <Mail SmtpServer="$(SmtpServerName)"
 86 To="$(ToAddress)"
 87 From="$(FromAddress)"
 88 Subject="$(ProjectName) Build failed"
 89 Body="Backup Failure: Could not finish Backup ." />
 90 </Target>-->
 91 <!--編譯項目-->
 92 <Target Name="BuildProjectReferences">
 93 <MSBuild Projects="@(ProjectReference)" Targets="Build" />
 94 </Target>
 95 <!--生成壓縮文件-->
 96 <Target Name="Zip">
 97 <!--時間格式-->
 98 <Time Format="yyyyMMddHHmmss">
 99 <Output TaskParameter="FormattedTime" PropertyName="buildDate"/>
100 </Time>
101 <Zip Files="@(ZipFiles)" ZipFileName="StartKit V$(Major)-$(Minor)-$(Revision)-$(buildDate).zip"/>
102 </Target>
103 <!--復(fù)制文件-->
104 <Target Name="Copy">
105 <!--停止IIS服務(wù)-->
106 <ServiceController ServiceName="w3svc" Action="Stop" />
107 <!--使用Robocopy復(fù)制編譯后的文件到指定位置 /XD是要忽略的文件夾,/XF要忽略的文件類型-->
108 <Exec Command="Robocopy Debug c:\inetpub\StartKit /MIR /XD Fckeditor attachments .svn obj doc Test /XF *.zip *.wdproj *.user *.cs *.csproj" IgnoreExitCode="true" />
109 <!--啟動IIS服務(wù)-->
110 <ServiceController ServiceName="w3svc" Action="Start" />
111 </Target>
112 <!--引入WebDeployment-->
113 <Import Project="$(MSBuildExtensionsPath)\Microsoft\WebDeployment\v9.0\Microsoft.WebDeployment.targets" />
114 <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
115 Other similar extension points exist, see Microsoft.WebDeployment.targets.-->
116 <Target Name="BeforeBuild"></Target>
117 <Target Name="BeforeMerge"></Target>
118 <Target Name="AfterMerge"></Target>
119 <Target Name="AfterBuild">
120 <!--編譯成功后,執(zhí)行下面的Targets-->
121 <!—不想生成ZIP文件,可以注釋下面ZIP的target-->
122 <CallTarget Targets="Zip"/>
123 <CallTarget Targets="Copy" />
124 <!--<CallTarget Targets="EmailTest"/>
125 <CallTarget Targets="Backup" />-->
126 </Target>
127 </Project>

編譯部署項目成功后,打開C\inetpub\StartKit文件夾,看看是否成功復(fù)制過去了呢?好的,我去看看,哈哈,文件果然都在,OK,成功啦!

這時候,在IIS上創(chuàng)建一個虛擬目錄或者網(wǎng)站,指向我們部署項目中指定的目錄。上一篇我們已經(jīng)將該項目添加到了CCNET中,所以以后我們每次提交代碼后,MSBuild就會編譯整個解決方案【當(dāng)然也會編譯部署項目】,如果編譯成功,就會自動將最新的程序部署到我們網(wǎng)站上。這樣就可以使網(wǎng)站和我們的開發(fā)實時保持同步,這只不是唯一的實現(xiàn)方法,其他還有很多可以實現(xiàn)這個功能的方法,大家可以在這里討論和交流。

補(bǔ)充:
Microsoft Build Engine (MSBuild) Microsoft Visual Studio 的新的生成平臺。MSBuild 在如何處理和生成軟件方面是完全透明的,使開發(fā)人員能夠在未安裝 Visual Studio 的生成實驗室環(huán)境中組織和生成產(chǎn)品。通過這幾篇教程,我們可以看出,MSBuild的強(qiáng)大功能,如果希望理解更多關(guān)于MSBuild的信息,請查看這里http://msdn.microsoft.com/zh-cn/library/ms171451.aspx 。

如果你對我講解的這些內(nèi)容不熟悉,建議你從頭開始看這個系列的教程:項目管理實踐系列教程

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
從頭開始創(chuàng)建 MSBuild 項目文件
轉(zhuǎn)VS2010解決方案轉(zhuǎn)換到VS2008
將開源博客程序從Visual Studio 2003遷移到Visual Studio 20...
調(diào)用命令行生成Visuial Studio.NET項目、解決方案(選擇自 tonybaob...
MSBuild入門
cmake: 使用jom實現(xiàn)msvc工程并發(fā)編譯提高速度(
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服