gpt4 book ai didi

asp.net-core - 包括图书馆项目中的 wwwroot?

转载 作者:行者123 更新时间:2023-12-04 12:18:44 31 4
gpt4 key购买 nike

我正在研究一个项目结构,其中多个项目服务于同一组静态文件。

在开始时,每个项目都将同时提供静态文件和 API 服务,但稍后我计划将其中的一些分成多个项目。

  • ProjectA 将同时提供静态文件和 API
  • ProjectB1 将只提供与 ProjectA
  • 中相同的静态文件。
  • ProjectB2 将只提供 API

  • 在经典的 VS 库中,您可以将文件标记为内容。这些将包含在引用该库的任何项目的构建输出中。

    我试图制作一个包含静态文件的项目 ProjectStatic 并从 ProjectA 和 ProjectB1 中引用它,但 ProjectStatic 中的任何文件都不包含在 ProjectA 和 ProjectB1 的输出中。

    这可以使用 project.json 来完成吗?

    最佳答案

    您可以使用 UseStaticFiles调用 EmbeddedFileProvider .它是 rc1-final 包的一部分,如您所见 here .
    只为 future 的读者:

    app.UseStaticFiles(new StaticFileOptions {
    FileProvider = new EmbeddedFileProvider(
    assembly: Assembly.Load(new AssemblyName("OpenIddict.Assets")),
    baseNamespace: "OpenIddict.Assets")
    });
    OpenIddict.Assets是包含静态资源的程序集/项目名称。
    更新:
    在通过源代码挖掘并找到正确的存储库后,还有一个 PhysicalFileProvider您可以使用而不是将其打包到程序集中并指向文件系统上的任意文件夹。
    app.UseStaticFiles(new StaticFileOptions {
    FileProvider = new PhysicalFileProvider("/path/to/shared/staticfiles")
    });
    更新 2:
    只是为了完整起见,还有一个 CompositeFileProvider您可以使用它来拥有多个 IFileProviders创建某种虚拟文件系统结构,即如果在 PhysicalFileProvider 中找不到文件给定位置,从 EmbeddedFileProvider 加载它.

    关于asp.net-core - 包括图书馆项目中的 wwwroot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36198633/

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