Jen*_*nan 3 views razor asp.net-core asp.net-core-middleware
我已经创建了 Web 应用程序 -Asp.Net MVC在.NET Core.
该应用程序包含一些Razor Views视图,但我想将这些视图共享给另一个应用程序,例如使用 DLL 或中间件。
以下是有关分发示例的一些信息,Controllers但Views没有什么特别之处 - https://docs.microsoft.com/en-us/aspnet/core/mvc/advanced/app-parts
我试过像这样添加控制器:
var assembly = typeof(Project.HomeController).GetTypeInfo().Assembly;
services.AddMvc()
.AddApplicationPart(assembly);
Run Code Online (Sandbox Code Playgroud)
这很好用,但我不知道如何添加视图。
如何将其分发Razor Views到另一个应用程序?是将它们像中间件一样导入到MVC middleware?
小智 6
您可以创建一个普通的 netstandard1.6 库,即您的控制器所在的位置,并使用以下命令将视图资源嵌入到您的 csproj 中的该 dll 中:
<ItemGroup>
<EmbeddedResource Include="Views\**\*.cshtml" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用 RazorViewEngineOptions 注册这些:
// Add views provided in this assembly.
services.Configure<RazorViewEngineOptions>(options =>
{
options.FileProviders.Add(
new EmbeddedFileProvider(typeof(ClassInLibrary).GetTypeInfo().Assembly));
});
Run Code Online (Sandbox Code Playgroud)
其中“ClassInLibrary”是库中的一个类,您可以从中获取程序集信息。
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |