在ASP.NET Core MVC 3.0中找不到嵌入式cshtml

时间:2019-10-23 12:02:06

标签: c# asp.net-mvc razor

我有一个定义MVC Razor视图的库。例如\Views\Default\Index.cshtml。并且我们在.csproj中使用此配置来在项目中重复使用这些视图:

<ItemGroup>
    <EmbeddedResource Include="Views\**\*.cshtml" />
</ItemGroup>

现在,当我们编译库DLL时,我们可以使用ILSpy确保我们的chtml剃刀视图实际上嵌入在Resources文件夹内的DLL文件中。

我们在ASP.NET Core MVC Web应用程序中使用此库,以重用.cshtml文件。

我们使用以下代码行将该库注册为搜索视图的地方:

services.Configure<MvcRazorRuntimeCompilationOptions>(options =>
{
    foreach (var assembly in assemblies)
    {
        options.FileProviders.Add(new EmbeddedFileProvider(assembly));
    }
});

这将在ASP.NET Core MVC 2.2中运行。但是升级到3.0版后,现在抱怨:

The view 'Index' was not found. The following locations were searched:
/Views/Default/Index.cshtml
/Views/Shared/Index.cshtml
/Pages/Shared/Index.cshtml

这是怎么了?

更新:该问题中提到的所有内容均已被我们证明,这是4年前的问题,与.NET 3.0无关。同样,这个问题也与嵌入式资源无关。这是关于同一应用程序中的视图的。

0 个答案:

没有答案