小编L.B*_*ral的帖子

从外部库提供静态文件

我试图提供外部库中的静态文件。

我已经在处理控制器和视图,但我无法从该库加载资源(javascript、图像等)。

这是我的 Startup.cs

    public void ConfigureServices(IServiceCollection services)
    {
    //...
    var personAssembly = typeof(PersonComponent.Program).GetTypeInfo().Assembly;
    var personEmbeddedFileProvider = new EmbeddedFileProvider(
          personAssembly,
          "PersonComponent"
       );

     services
       .AddMvc()
       .AddApplicationPart(personAssembly)
       .AddControllersAsServices();

    services.Configure<RazorViewEngineOptions>(options =>
                {
                    options.FileProviders.Add(personEmbeddedFileProvider);
                });
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        //...
        var personAssembly = typeof(PersonComponent.Program).GetTypeInfo().Assembly;
        var personEmbeddedFileProvider = new EmbeddedFileProvider(
            personAssembly,
            "PersonComponent"
        );

        app.UseStaticFiles();
        //This not work
        app.UseStaticFiles(new StaticFileOptions
        {
            FileProvider = new CompositeFileProvider(
                personEmbeddedFileProvider
            )
        });
    }
Run Code Online (Sandbox Code Playgroud)

这里是我在外部库的 project.json 上的 buildOptions 设置:

"buildOptions": {
    "emitEntryPoint": true,
    "preserveCompilationContext": true, …
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net-core-mvc .net-core asp.net-core

5
推荐指数
1
解决办法
3499
查看次数

标签 统计

.net ×1

.net-core ×1

asp.net-core ×1

asp.net-core-mvc ×1

c# ×1