gpt4 book ai didi

c# - 如何使用来自外部应用程序的 View

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:12 25 4
gpt4 key购买 nike

我有一个用 .net core 2.1 编写的 Web 应用程序 (Firstapplication),它运行良好。
我现在想从另一个应用程序创建的 dll 文件添加运行时 View 。我想获取“SeconApplication.web.Views.dll”并将其放在我的 Fyrstapplication 中的一个文件夹中,当我调用名为 Index 的 View 时,它不是从我的 FirsApplication 中获取的,而是从我放置在某个文件夹中的 Dll 文件中获取的。

关于如何做到这一点的任何想法或您可以推荐的任何文章?

var moduleViewLocations = new string[]
{
"/dropfolder/SeconApplication.Web.Views/Views/{1}/{0}.cshtml",
};

最佳答案

在核心 2.1 中解决

经过大量尝试和错误后,我找到了一种使用来自另一个解决方案的预编译 View 的方法。

在 starup.cs 中,您首先需要加载包含您从另一个解决方案获得的 View 的 DLL,然后您只需在 razor View 引擎中将组件注册为 embeddedFileProvider。

    public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});

//load the assembly from the view dll you have
Assembly assempbly2 = AssemblyLoadContext.Default.LoadFromAssemblyPath("C:/the/path/to/your/solution.Views.dll");

//register the views in razor view engine
services.Configure<RazorViewEngineOptions>(options =>
{
options.FileProviders.Add(new EmbeddedFileProvider(assempbly2));
});

services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

}

关于c# - 如何使用来自外部应用程序的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51284115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com