.NET Core Razor Class 库似乎无法在 Linux 上运行

.NET Core Razor Class Library does not seem to work on Linux

我尝试创建一个 .NET Core Razor Class 库。

dotnet new razorclasslib -o test

到目前为止一切顺利。但是当我在 VSCode 中打开它并创建一个新的 cshtml 文件和一个新的 class 作为模型时,当我尝试继承 PageModel

此外,在csproj文件中,目标框架设置为netstandard2.0,将其更改为netcoreapp3.1似乎没有任何变化。我在文档中找不到任何可以提示我如何处理这个问题的内容。

谁能帮我解决这个问题?

我的系统是初级 OS 5.1 (Ubuntu 18.04),我使用的是 dotnet 3.1 sdk

我想通了。 请注意真正的解决方案是在EDIT2之后提供的。我留下了中间的部分作为一个不应该做的例子

Omnisharp 没有告诉我我没有任何包含我所引用的 classes 的软件包(哦!)

在文档中花费了一些时间后,我找到了正确的,我们开始吧:

dotnet add package Microsoft.AspNetCore.Mvc.RazorPages --version 2.2.5 dotnet add package Microsoft.AspNetCore.Mvc --version 2.2.0

添加这两个包解决了所有问题。

编辑 2:显然我忽略了一个应该传递给 dotnet new 命令的简单参数;例如:

dotnet new razorclasslib --support-pages-and-views

这是在 razor class 库中使用 MVC 视图和 razor 页面所必需的。请注意 Microsoft.AspNetCore.MvcMicrosoft.AspNetCore.Mvc.RazorPages 应该 而不是 像我上面那样添加。