C# APIController和Razor视图

C# APIController和Razor视图,c#,asp.net,razor,asp.net-web-api,C#,Asp.net,Razor,Asp.net Web Api,我的计划是拥有一些动态加载的程序集,这些程序集可以提供一些web界面 我决定在这些程序集中放置一些WebApi控制器,其中一些控制器可以使用内联Razor模板(通过自定义MediaTypeFormatter)提供html视图。 到目前为止,它与内嵌Razor模板配合得非常好: var myModel = new {Name:"World"}; var template = "Hello, @Model.Name!"; return Razor.Parse(template, myModel);

我的计划是拥有一些动态加载的程序集,这些程序集可以提供一些web界面

我决定在这些程序集中放置一些WebApi控制器,其中一些控制器可以使用内联Razor模板(通过自定义MediaTypeFormatter)提供html视图。 到目前为止,它与内嵌Razor模板配合得非常好:

var myModel = new {Name:"World"};
var template = "Hello, @Model.Name!";
return Razor.Parse(template, myModel);
但我的问题是,我不知道如何使用/注册位于程序集中的外部Razor视图(.cshtml文件)

到目前为止,我尝试了以下方法:

var template = Razor.Resolve("MyView.cshtml", myModel);
return template.Run(new ExecuteContext());

但是我的
模板
变量是
null
,我猜MyView.cshtml找不到、注册不正确或引用不正确。

我们正在使用Razor Generator-VS的自定义工具()


Razor视图在设计时被预编译,并作为C#类内置到汇编中。无需将.cshtml文件作为嵌入式资源包含到项目中。

是否已在Visual Studio中为cshtml文件设置生成操作:“嵌入式资源”?您是否已将
Razor.SetTemplateService
配置为
TemplateService
,该服务可从正确的程序集解析模板?@nemesv,没有。你能告诉我正确的方向吗?如何实现解析我的模板的
TemplateService
?谢谢。我就是这样做的。谢谢,你们中有人想把你们的评论作为回答,这样我就可以接受了吗?问题似乎已经解决了,我只需要弄清楚如何在加载程序集时为每个程序集注册该解析器。