C# ASP.NET Core 2.1提供来自另一个项目的静态文件

C# ASP.NET Core 2.1提供来自另一个项目的静态文件,c#,asp.net-core,asp.net-core-2.1,C#,Asp.net Core,Asp.net Core 2.1,我正在尝试使用ASP.NET Core 2.1后端为API和Angular前端提供服务Startup.cs位于项目MyApp.Api中。我希望我的静态文件从另一个项目的wwwroot中提取,MyApp.FrontEnd 我已经看到了下面描述的方法 app.UseStaticFiles(new StaticFileOptions { FileProvider = new EmbeddedFileProvider( assembly: Assembly.Load(new As

我正在尝试使用ASP.NET Core 2.1后端为API和Angular前端提供服务
Startup.cs
位于项目
MyApp.Api
中。我希望我的静态文件从另一个项目的wwwroot中提取,
MyApp.FrontEnd

我已经看到了下面描述的方法

app.UseStaticFiles(new StaticFileOptions {
    FileProvider = new EmbeddedFileProvider(
        assembly: Assembly.Load(new AssemblyName("OpenIddict.Assets")),
        baseNamespace: "OpenIddict.Assets")
});
但是,当我尝试用我的项目名称替换“OpenIddicts.Assets”时,出现以下错误:

FTL应用程序启动异常 System.IO.FileNotFoundException:无法加载文件或程序集 'MyApp.FrontEnd,区域性=中性,PublicKeyToken=null'。 系统找不到指定的文件。 文件名:“MyApp.FrontEnd,区域性=中性,PublicKeyToken=null”


上面链接的帖子中引用的GitHub存储库似乎不再存在。我想我错过了一个很明显的地方。任何帮助都将不胜感激。

MyApp.FrontEnd.dll
必须存在于输出文件夹中。如果您发布了主项目(它引用了
MyApp.FrontEnd
),那么一切都应该正常工作

如果您可以从程序集访问某些类型,则可以尝试使用
assembly.GetAssembly(type)
而不是
assembly.Load(…)
,即

app.UseStaticFiles(new StaticFileOptions {
    FileProvider = new EmbeddedFileProvider(
        assembly: Assembly.GetAssembly(typeof(SomeClassFromAssembly)),
        baseNamespace: "OpenIddict.Assets")
});

您是否从
MyApp.Api
中引用了
MyApp.FrontEnd
?您是否有任何理由不能使用
PhysicalFileProvider
,或者文件是否需要来自程序集?