如何提醒剃刀查看错误

时间:2018-01-26 20:29:47

标签: razor .net-core

我的dotnet核心项目构建和部署没有任何错误,但我可以在cshtml视图中打破异常游戏,但根本不会被拾取。在一个理想的世界中,我会检查每个crud页面,但不是在这个项目上,客户端没有预算。有太多的观点打开它们并检查(每次)

如果cshtml文件中有任何错误的代码,有没有办法让构建失败?

1 个答案:

答案 0 :(得分:1)

这将是ASP.NET Core 2.1中的默认值,因为视图将始终在构建时编译,并且仅在编辑时动态重新编译。

同时,你可以将它添加到你的csproj文件中(最初在this GitHub issue上构建):

<Target Name="SetMvcRazorOutputPath">
  <PropertyGroup>
    <MvcRazorOutputPath>$(IntermediateOutputPath)</MvcRazorOutputPath>
  </PropertyGroup>
</Target>

<Target Name="_MvcRazorPrecompileOnBuild"
        DependsOnTargets="SetMvcRazorOutputPath;MvcRazorPrecompile"
        AfterTargets="Build" 
        Condition=" '$(IsCrossTargetingBuild)' != 'true' " />

 <Target Name="IncludePrecompiledViewsInPublishOutput"
        DependsOnTargets="_MvcRazorPrecompileOnBuild"
        BeforeTargets="PrepareForPublish"
        Condition=" '$(IsCrossTargetingBuild)' != 'true' ">
  <ItemGroup>
    <_PrecompiledViewsOutput Include="$(MvcRazorOutputPath)$(MSBuildProjectName).PrecompiledViews.dll" />
    <_PrecompiledViewsOutput Include="$(MvcRazorOutputPath)$(MSBuildProjectName).PrecompiledViews.pdb" />
    <ContentWithTargetPath Include="@(_PrecompiledViewsOutput->'%(FullPath)')"
        RelativePath="%(_PrecompiledViewsOutput.Identity)" 
        TargetPath="%(_PrecompiledViewsOutput.Filename)%(_PrecompiledViewsOutput.Extension)" 
        CopyToPublishDirectory="PreserveNewest" />
  </ItemGroup>
</Target>