加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

如何从TeamCity预编译ASP.NET Web应用程序?

发布时间:2020-12-16 03:25:09 所属栏目:asp.Net 来源:网络整理
导读:我有一个关于从TeamCity预编译ASP.NET Web应用程序项目的问题.这是以下线程的后续问题: How to deploy after a build with TeamCity? 我已经完成了使用上述线程实现从单元测试到自动部署的CI,现在我想通过预编译项目来补充这个过程.该项目相当大,我希望在新
我有一个关于从TeamCity预编译ASP.NET Web应用程序项目的问题.这是以下线程的后续问题:

How to deploy after a build with TeamCity?

我已经完成了使用上述线程实现从单元测试到自动部署的CI,现在我想通过预编译项目来补充这个过程.该项目相当大,我希望在新部署后避免任何不必要的响应时间延迟.

那么,有没有办法从TeamCity做到这一点?就像用一些特定的参数调用MSBuild一样?

解决方法

当然,可以使用自定义MSBuild脚本完成.这是我们运行以预编译ASP.NET MVC 3网站的那个(并不是因为它真的因ASP.NET版本而异).

首先,它通过对解决方案文件运行MSBuild来运行常规构建,然后运行此自定义MSBuild代码:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <Import Project="$(MSBuildToolsPath)Microsoft.CSharp.targets" />
  <Import Project="$(MSBuildExtensionsPath)MSBuildCommunityTasksMSBuild.Community.Tasks.Targets"/>

  <PropertyGroup>
    <WebProject>WebChatPast.WebChatPast.Web.csproj</WebProject>
    <WebProjectFolder>WebChatPast.Web</WebProjectFolder>
    <WebPublishFolder>ChatPastWebPublish</WebPublishFolder>
  </PropertyGroup>

  <ItemGroup>
    <ZipFiles Include="$(teamcity_build_workingDir)srcChatPast$(WebPublishFolder)***.*" />
  </ItemGroup>

  <Target Name="Build">
      <!-- Compilation of all projects -->
      <MSBuild Projects="ChatPast.sln" Properties="Configuration=Release"/>

      <!-- Creating web publish folder. -->
      <RemoveDir Directories="$(WebPublishFolder)"/>
      <MakeDir Directories="$(WebPublishFolder)"/>

      <!-- Running ASP.NET publish -->
      <MSBuild Projects="$(WebProject)"
           Targets="ResolveReferences;_CopyWebApplication"
           Properties="Configuration=Release;WebProjectOutputDir=....$(WebPublishFolder);OutDir=....$(WebPublishFolder)bin" />

  </Target>
</Project>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读