【问题标题】:Razor fails to render view due to weird compilation error CS0234由于奇怪的编译错误 CS0234,Razor 无法渲染视图
【发布时间】:2019-10-08 14:38:28
【问题描述】:

我有一个现有的 ASP.NET 核心 2.2(SDK 版本 2.2.108)Web API,我现在正在添加 MVC 来托管一个带有控制器的网页。我已经添加: - 新控制器 - 新的 .cshtml 视图 - 确保我的 startup.cs 包含 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

我正在使用 Http.Sys,我得到 500 [Microsoft.AspNetCore.Server.HttpSys.MessagePump] ProcessRequestAsync。 如果我在 VS 2017 (15.9.13) 中启用异常,我会看到:

Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException: 'One or more compilation failures occurred: 310z1p4f.mzl(4,41): error CS0234: The type or namespace name 'Razor' does not exist in the namespace 'Microsoft.AspNetCore' (are you missing an assembly reference?) 310z1p4f.mzl(5,40): error CS0234: The type or namespace name 'Mvc' does not exist in the namespace 'Microsoft.AspNetCore' (are you missing an assembly reference?) 310z1p4f.mzl(4,82): error CS0518: Predefined type 'System.Type' is not defined or imported 310z1p4f.mzl(4,122): error CS0518: Predefined type 'System.String' is not defined or imported

它继续。

我在构建输出中看到:

Microsoft.AspNetCore.Razor.dll
Microsoft.AspNetCore.Razor.Language.dll
Microsoft.AspNetCore.Razor.Runtime.dll

我在 SO 和 github 上关注了几个不同的讨论:

但没有运气。想法?

【问题讨论】:

  • 我做了一个demo来测试,没有报错。你尝试更新最新版本的ASP.NET core 2.2 SDK吗?
  • 我正在使用那个 SDK,因为我想使用 VS2017。但是我刚刚找到了罪魁祸首,我写了一个答案,以防其他人遇到同样的问题

标签: c# asp.net-mvc asp.net-core razor


【解决方案1】:

好的,我找到了问题。基本上有两个项目:

  1. 一个控制台应用程序,也可以作为 Windows 服务运行。这会实例化 Web 服务器
  2. 包含 Web API 的库

两者都针对 <Project Sdk="Microsoft.NET.Sdk">,一旦我将 2 更改为使用 <Project Sdk="Microsoft.NET.Sdk.Web"> 并成为库而不是控制台应用程序,一切都开始工作了。

我花了很长时间才弄清楚这一点,因为之前使用那个(错误的)配置 Web API 可以正常工作。嗯!

【讨论】:

    【解决方案2】:

    好的,试试这个右键单击您的项目并编辑您的项目文件。

    在项目参考下你应该看到

    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" 
        PrivateAssets="All" />
    

    如果你不添加它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-03
      • 2015-09-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多