我正在开发一个项目结构,其中有多个项目服务于同一组静态文件.
在开始时,每个项目都将服务于静态文件和API服务,但稍后我计划将其中一些项目分成多个项目.
在经典的VS库中,您可以将文件标记为内容.这些将包含在引用该库的任何项目的构建输出中.
我尝试创建一个包含静态文件的项目ProjectStatic,并从ProjectA和ProjectB1引用它,但ProjectStatic中的所有文件都不包含在ProjectA和ProjectB1的输出中.
可以使用project.json完成吗?
看看PinpointTownes如何在他的OpenIddict项目中实现这一点.
您可以使用UseStaticFiles
呼叫EmbeddedFileProvider
.它是rc1-final软件包的一部分,你可以在这里看到.相关代码可在GitHub上找到.
仅供未来读者使用:
app.UseStaticFiles(new StaticFileOptions {
FileProvider = new EmbeddedFileProvider(
assembly: Assembly.Load(new AssemblyName("OpenIddict.Assets")),
baseNamespace: "OpenIddict.Assets")
});
Run Code Online (Sandbox Code Playgroud)
OpenIddict.Assets
是包含静态资源的程序集/项目名称.
更新:
在通过源挖掘并找到正确的存储库之后,还PhysicalFileProvider
可以使用而不是将其打包到程序集中并指向文件系统上的任意文件夹.
app.UseStaticFiles(new StaticFileOptions {
FileProvider = new PhysicalFileProvider("/path/to/shared/staticfiles")
});
Run Code Online (Sandbox Code Playgroud)
更新2:
只是为了完整性,还有一个CompositeFileProvider
可以IFileProviders
用来创建某种虚拟文件系统结构的多个,即如果在PhysicalFileProvider
给定位置找不到该文件,则从中加载它EmbeddedFileProvider
.
归档时间: |
|
查看次数: |
1673 次 |
最近记录: |