我将AspNetCore控制器和视图分离为一个独立的.net标准2.0项目,该项目引用了Microsoft.AspNetCore.Mvc包。控制器正常工作,可以找到视图cshtml。
但是,在运行时cshtml编译期间,抛出了大量异常,表明一些基本类型未定义,如System.String,System.Type,System.Void等。
错误的
fs.stat
有人知道如何解决这个问题吗?
Index.cshtml
fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HL7VCA4VNMOK", Request id "0HL7VCA4VNMOK:00000001": An unhandled exception was thrown by the application.
Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException: One or more compilation failures occurred:
bbnqa23f.htw(4,62): error CS0012: The type 'Attribute' is defined in an assembly that is not referenced. You must add a reference to assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'.
bbnqa23f.htw(4,81): error CS0518: Predefined type 'System.String' is not defined or imported
bbnqa23f.htw(4,109): error CS0518: Predefined type 'System.Type' is not defined or imported
bbnqa23f.htw(4,11): error CS0518: Predefined type 'System.Void' is not defined or imported
bbnqa23f.htw(8,11): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
bbnqa23f.htw(9,11): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
bbnqa23f.htw(10,11): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
bbnqa23f.htw(11,11): error CS0246: The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?)
Layout.cshtml
@{
ViewData["Title"] = "Home Page";
}
This is view
控制器的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>@ViewData["Title"]</title>
</head>
<body>
@RenderBody()
</body>
</html>
Startup.cs
public class HomeController : Controller
{
[HttpGet]
public IActionResult Index()
{
return View();
}
}
答案 0 :(得分:0)
在将我的解决方案项目从netcoreapp1.1更新到netcoreapp2.0后,我遇到了类似的问题。我正在使用Visual Studio 2017,我不得不进行更新。
控制面板 - &gt;程序和功能 - &gt; Microsoft Visual Studio 2017 右键单击,选择“更改”。然后提示允许并更新。
之后一切都开始了。这仅适用于Web API项目,不确定它是否适用于cshtml。
答案 1 :(得分:0)
对我来说,这只是发生在VS 2019,ASP NET Core 3.1剃刀页面中。
我仍处于Release配置中,而不是Debug(我上次在解决方案中发布发布版本)
切换回Debug and Rebuilt解决方案。
已解决。
答案 2 :(得分:0)
我在 Azure DevOps 管道上遇到了同样的问题。我将 nuget 版本从 4.4 更新到 5.10 后,问题就消失了