我在我的asp.net core 2项目中添加了一些剃刀视图作为嵌入式资源:
<ItemGroup>
<Content Remove="Mail\Notifications\**\*.cshtml" />
<EmbeddedResource Include="Mail\Notifications\**\*.cshtml" />
</ItemGroup>
我使用RazorViewToStringRenderer.cs呈现视图:
我还在startup.cs中将EmbeddedFileProvider添加到ServiceCollection:
var embeddedProvider = new EmbeddedFileProvider(typeof(Program).Assembly); //needed for mailtemplates
var compositeProvider = new CompositeFileProvider(embeddedProvider);
services.AddSingleton(compositeProvider);
当我在IIS Express中本地运行项目或作为控制台应用程序时,它可以工作,但是当我发布它时,找不到视图。
InvalidOperationException:无法找到视图 '〜/邮件/通知/子文件夹/ MyView.cshtml'。 搜索了以下位置: 〜/邮件/通知/子文件夹/ MyView.cshtml