脚本 link 中的 @ (at) 符号导致异常

@ (at) symbol in script link is causing exception

我正在尝试将 link 添加到 Pages/_Layout.cshtml 中的 .js 文件,但出现以下异常:

Severity Code Description Project File Line Suppression State Error (active) CS0103 The name 'antv' does not exist in the current context Blazing C:\Users\Laptop\source\repos\Blazing\Blazing\Pages_Layout.cshtml 31

_Layout.cshtml:

@using Microsoft.AspNetCore.Components.Web
@namespace BlazingDiary.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <base href="~/" />
  <link rel="stylesheet" href="css/bootstrap/bootstrap.min.css" />
  <link href="css/site.css" rel="stylesheet" />
  <link href="BlazingDiary.styles.css" rel="stylesheet" />
  <component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
</head>
<body>
  @RenderBody()

  <div id="blazor-error-ui">
    <environment include="Staging,Production">
      An error has occurred. This application may no longer respond until reloaded.
    </environment>
    <environment include="Development">
      An unhandled exception has occurred. See browser dev tools for details.
    </environment>
    <a href="" class="reload">Reload</a>
    <a class="dismiss"></a>
  </div>

  <script src="_framework/blazor.server.js"></script>
  <script src="https://unpkg.com/@antv/g2plot@1.1.28/dist/g2plot.js"></script>
  <script src="_content/AntDesign.Charts/ant-design-charts-blazor.js"></script>
  <link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" />
  <script src="_content/AntDesign/js/ant-design-blazor.js"></script>
</body>
</html>

问题出在这个特定的 link https://unpkg.com/@antv/g2plot@1.1.28/dist/g2plot.js 中。谷歌搜索了几个小时但没有成功。有什么想法吗?

这在 .net 6 中解决了。

在 .net 5(及之前)中,razor 引擎似乎将其鼻子伸向了不属于它的地方。幸运的是,有一个简单的解决方法,将 @ 转义为 @@:

<script src="https://unpkg.com/@@antv/g2plot@1.1.28/dist/g2plot.js"></script>