• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

使用bat文件发布asp.net程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

关键 1根据源代码的改动自动下载代码,2编译3发布网站

   1第一步只需要通过CruiseControl.NET就可以做到

    2编译其实就是在ccnet.config中添加一个任务,关键代码  

  

[html] view plaincopy
  1. <tasks>  
  2.             <msbuild>  
  3.                 <executable>C:\Windows\Microsoft.NET\Framework\v4.0.30319\Msbuild.exe</executable>  
  4.                 <workingDirectory>$(baseDirectory)$(workingDirectory)$(projectName)\src\PollutantMonitorPlatform\PollutantMonitor</workingDirectory>   
  5.                 <projectFile>$(baseDirectory)$(workingDirectory)$(projectName)\src\PollutantMonitorPlatform\PollutantMonitor\PollutantMonitor\PollutantMonitor.csproj</projectFile>  
  6.                 <buildArgs>/noconsolelogger /p:OutDir=C:\SourceControl\publish\PollutantMonitor\ /v:n</buildArgs>  
  7.                 <targets>Clean;Build;_CopyWebApplication</targets>  
  8.                  <timeout>900</timeout>  
  9.                  <logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>  
  10.              </msbuild>   
  11.              <exec>  
  12.                 <executable>AddApp.bat</executable>  
  13.                 <baseDirectory>C:\Program Files\CruiseControl.NET\server</baseDirectory>  
  14.                 <buildArgs>PollutantMonitor 82 $(baseDirectory)TestWeb\PollutantMonitor "ASP.NET v4.0"</buildArgs>  
  15.                 <buildTimeoutSeconds>10</buildTimeoutSeconds>  
  16.            </exec>               
  17.         </tasks>  
  18.        <publishers>  
  19.            <xmllogger/>  
  20.              <buildpublisher>  
  21.             <sourceDir>$(baseDirectory)$(publishDirectory)PollutantMonitor\_PublishedWebsites</sourceDir>  
  22.             <publishDir>C:\SourceControl\Test\</publishDir>  
  23.             <useLabelSubDirectory>false</useLabelSubDirectory>  
  24.             <alwaysPublish>false</alwaysPublish>  
  25.          </buildpublisher>  
  26.       </publishers>  

 

 

通过应用msbuild.exe命令行就可以编译,不需要vs的开发环境。

 

  网站项目的命令行如下:

 

[html] view plaincopy
  1. C:\Windows\Microsoft.NET\Framework\v3.5\Msbuild.exe F:\download\MSBuildDemo1\MSBuildDemo.sln /t:Clean;Build /p:OutDir=H:\testweb\  

 

   含义就是通过3.5版的Msbuild.exe编译路径F:\download\MSBuildDemo1下的solution文件MSBuildDemo.sln,首先清理,再生成,最后把生成的所有文件复制到目录下H:\testweb\

web应用程序项目的命令行如下:

 

[html] view plaincopy
  1. C:\Windows\Microsoft.NET\Framework\v3.5\Msbuild.exe F:\download\MSBuildDemo\BFL.MSBuildDemo.WebApp\BFL.MSBuildDemo.WebApp.csproj /t:Clean;Build;_CopyWebApplication /p:OutDir=H:\testweb\  

 

   含义就是通过3.5版的Msbuild.exe编译路径F:\download\MSBuildDemo\BFL.MSBuildDemo.WebApp\下的项目文件BFL.MSBuildDemo.WebApp.csproj ,首先清理,再生成,最后把生成的所有文件复制到目录下H:\testweb\

两种方式都在OutDir下生成了目录_PublishedWebsites,和通过vs右键发布生成的一样。

如何出现如下错误,需要修改csproj项目文件中的如下一行,需要改变版本,例如把v10.0改为v8.0或者v9.0 

 

[html] view plaincopy
  1. <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />  

 

[html] view plaincopy
  1.     C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(133,11): error MSB4064: The "Retries" parameter is not supported by the "Copy" task. Verify the parameter exists on the task, and it is a settable public instance property.  
  2.   
  3. C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(131,5): error MSB4063: The "Copy" task could not be initialized with its input parameters.   
  4. Done Building Project "F:\download\MSBuildDemo\BFL.MSBuildDemo.WebApp\BFL.MSBuildDemo.WebApp.csproj" (Clean;Build;_CopyWebApplication target(s)) -- FAILED.  
  5.   
  6. Build FAILED.  
  7.   
  8. "F:\download\MSBuildDemo\BFL.MSBuildDemo.WebApp\BFL.MSBuildDemo.WebApp.csproj" (Clean;Build;_CopyWebApplication target) (1) ->  
  9. (_CopyWebApplicationLegacy target) ->   
  10.   C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(133,11): error MSB4064: The "Retries" parameter is not supported by the "Copy" task. Verify the parameter exists on the task, and it is a settable public instance property.  
  11.   C:\Program Files\MSBuild\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets(131,5): error MSB4063: The "Copy" task could not be initialized with its input parameters.   
  12.   
  13.   
  14.     0 Warning(s)  
  15.     2 Error(s)  
  16.   
  17.   
  18. Time Elapsed 00:00:00.42  
  19.     

3发布网站到IIS下
  由于上一步已经生成了发布需要的所有文件,所以这一步就是拷贝文件,设定虚拟目录,就可以了。我使用的是II7,IIS7有一个工具appcmd可以简化发布。

 

 

[html] view plaincopy
  1. %windir%\system32\inetsrv\appcmd add app  /site.name:"Default Web Site" /path:/TestWeb /physicalPath:C:\SourceControl\Test\TestWeb\PollutantMonitor   


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Asp.Net之MasterPage发布时间:2022-07-10
下一篇:
Asp.net:访问嵌套模版页中的控件发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap