gpt4 book ai didi

c# - 在控制台应用程序中使用Razor的最佳方法是什么

转载 作者:可可西里 更新时间:2023-11-01 09:16:01 25 4
gpt4 key购买 nike

我知道以前也曾问过类似的问题,但是唯一的答案只有六年了,人们提到的项目似乎并没有得到维护。

我想在控制台应用程序或类库中使用Razor来呈现HTML。我也想在.cshtml文件中使用Intellisense。

目前,我可以通过执行以下操作来评审:

  • 创建控制台应用程序。
  • 添加.cshtml文件。
  • 在“属性”中,将Custom Tool属性设置为RazorTemplatePreprocessor

  • 这将导致识别Razor语法。因此,如果您有 Test.cshtml,它将生成一个名为 Test的类,您可以像这样使用:
    var test = new Test();
    test.Model = "Hi there";
    var html = test.GenerateString();

    Console.WriteLine(html);

    就我的目的而言,这已经足够了。但是,.cshtml文件中的实际编码体验非常糟糕:
  • 到处都是红色的波浪状的抱怨:
  • 因为是C#2,所以无法使用var
  • 找不到各种类型的类型或 namespace 。
  • 从其他库导入的类型尤其如此。
  • 无法识别@model关键字。
  • Intellisense有时有效,有时则无效。

  • 奇怪的是,如果您仅忽略所有这些错误,则实际上会正确生成HTML,包括使用Razor引擎抱怨的库和@model关键字。但是,这会引起严重的困惑,因为如果您拥有任意数量的.cshtml文件,您很快就会发现成百上千的此类错误与实际错误混合在一起。

    我能做些什么来使实际的Razor编码体验更像在ASP.NET Web应用程序中那样工作?

    更新(2/13/2020)

    我的工作大部分都是笨拙的。请在下面查看我的答案。

    最佳答案

    只需使用RazorEngine 库。

    根据文档支持cshtml文件intellisense。

    关于c# - 在控制台应用程序中使用Razor的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50080204/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com