【问题标题】:Precompiling Asp.net MVC views on TFS Build definition在 TFS 构建定义上预编译 Asp.net MVC 视图
【发布时间】:2018-03-13 11:28:20
【问题描述】:

我们目前在 TFS 上运行构建。是否可以在 TFS 构建期间预编译视图?

【问题讨论】:

    标签: asp.net asp.net-mvc tfs azure-devops azure-pipelines


    【解决方案1】:

    可以在 TFS 上预编译 Asp.net MVC 视图。

    您需要Extend the Visual Studio Build Process,引入一个新的 BuildViews 目标,该目标仅在 MvcBuildViews 属性设置为 true 时才会执行。

    <Target Name="BuildViews" Condition="'$(MvcBuildViews)'=='true'" AfterTargets="Build">
      <Message Importance="normal" Text="Precompiling views" />
      <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
    </Target>
    

    参考以下文章,更多信息请参考:

    Turn on Compile-time View Checking for ASP.NET MVC Projects in TFS Build 2010

    【讨论】:

      【解决方案2】:

      MvcBuildViews 在运行 TFS 构建时遇到了一些由 obj 文件夹中的一些杂散 web.config 文件引起的错误,我设法通过使用 PrecompileBeforePublish 解决了这个问题。

      如果您将其添加到正确的PropertyGroup,则以下代码仅适用于 TFS 构建。

      <MvcBuildViews Condition="'$(TF_BUILD)'=='true'">false</MvcBuildViews>
      <PrecompileBeforePublish Condition="'$(TF_BUILD)'=='true'">true</PrecompileBeforePublish>
      

      我在以下website 上找到了解决方案,它还给出了以下警告:

      [PrecompileBeforePublish] 仅受“新”Web 发布管道堆栈(VS2010 SP1 + Azure SDK 或 VS2012 RTM)支持。如果您使用的是 VS2010 RTM,则需要使用其中一种替代方法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-19
        • 2017-07-22
        • 2010-09-27
        • 2012-12-02
        • 2011-08-13
        • 1970-01-01
        • 2013-02-27
        相关资源
        最近更新 更多