在 .NET 6 Web 应用程序中呈现来自外部程序集的视图

Rendering Views from external assemblies in .NET 6 web app

我有一个 .NET 6 MVC Web 应用程序,它引用了一个带有控制器和视图的程序集。通过添加对外部控制器的引用和调用,我已经能够 Google 我自己的方式。

现在我无法尝试在程序集中引用视图,因为 Razor 引擎仍然希望它存在于主应用程序中。我看到了一个 MVC6 的例子,上面写着添加:

builder.Services.Configure<RazorViewEngineOptions>(options =>
{
  options.FileProvider = new CompositeFileProvider(
    new EmbeddedFileProvider(
        typeof(BooksController).GetTypeInfo().Assembly,
        "BookStore.Portal" // your external assembly's base namespace
    ),
    options.FileProvider
  );
});

但是 'FileProvider' 没有可用的 属性 选项。我错过包裹了吗?有没有更好的方法来解决这个问题?

谢谢。

所以至少对于 .NET 6,您不需要做任何特别的事情。只需引用您的 Razor Class 库,您就可以访问它。启动(现在是程序)中没有任何内容。我确实必须在典型的 'Controllers'/'Views' 文件夹结构中构建项目,但我的调用应用程序找到了控制器和视图。