在Asp.Net Core 2.1控制台应用程序中使用MVC Razor页面

时间:2018-07-06 13:07:10

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

我一直在尝试在应用程序中实现IdentityServer4 Quickstart UI。但是,我的IdentityServer已经在ASP.NET Core 2.1控制台应用程序中运行。因此,我一直在尝试使MVC在我的应用程序中正常工作。

无论我做什么,总是会遇到以下错误:

   Connection id "0HLF37NOM2HND", Request id "0HLF37NOM2HND:00000001": An unhandled exception was thrown by the application.
   System.InvalidOperationException: The view 'Index' was not found. The following locations were searched:
   /Views/Home/Index.cshtml
   /Views/Shared/Index.cshtml
   /Pages/Shared/Index.cshtml

控制器很好,但是编译视图(和/或发现cshtml无法正常工作)。我从没在输出文件夹中看到ConsoleApp1.Views.dll。

因此,我从Visual Studio中的模板创建了一个新的ASP.NET MVC应用程序,并且还创建了一个新的控制台应用程序。然后,我将所有文件从MVC应用程序复制到控制台应用程序,并包含必要的nuget程序包。但是我仍然遇到同样的错误。这些视图直接位于项目根目录的View文件夹中。

enter image description here

我想念什么吗?我可以在 Microsoft.NET.Sdk 项目中使用Razor页面吗?

我已经在这里上传了测试应用程序:https://drive.google.com/open?id=1rfFsumn4g_StXNShhz5eOUa6WNz5JO5c

编辑:为了说明清楚,如果我将.csproj中的Project Sdk =“ Microsoft.NET.Sdk.Web”更改为“视图”,则会发现这些视图。但是,我想避免将较大的控制台应用程序更改为Webapp

1 个答案:

答案 0 :(得分:1)

  

您需要在控制台\类库应用程序中使用Microsoft.NET.Sdk.Razor来使用它。

https://github.com/aspnet/Razor/issues/2462