NET 5和RazorEngine-单元测试工作正常,但web API失败
我有一个在ASP.NET 5中创建的Web API项目。Web API使用RazorEngine(v3.7.0)解析模板 解析逻辑在类库中。正是这个类库完成了实际的解析。web API调用此类库。具有解析逻辑的类的名称为TemplateParser,解析模板的方法的名称为Parse() 我有一个单元测试项目要调用TemplateParser.Parse()。这个单元测试工作得很好 但是,当我通过调用Web API调用相同的方法时,会出现下面提到的错误。错误是找不到System.Web.Razor程序集,版本3.0.0.0 发生System.IO.FileNotFoundException FileName=System.Web.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35 但是,为什么单元测试可以工作呢 我正在使用VS 2015社区版 为了调试,我使用F5运行WebAPI项目,然后从外部调用api。我对我的Web服务器使用“Web”选项(目前,我没有使用IIS express)NET 5和RazorEngine-单元测试工作正常,但web API失败,razor,asp.net-core,razorengine,.net-4.6,Razor,Asp.net Core,Razorengine,.net 4.6,我有一个在ASP.NET 5中创建的Web API项目。Web API使用RazorEngine(v3.7.0)解析模板 解析逻辑在类库中。正是这个类库完成了实际的解析。web API调用此类库。具有解析逻辑的类的名称为TemplateParser,解析模板的方法的名称为Parse() 我有一个单元测试项目要调用TemplateParser.Parse()。这个单元测试工作得很好 但是,当我通过调用Web API调用相同的方法时,会出现下面提到的错误。错误是找不到System.Web.Razor
我在web api和类库中都使用了dnx46版本的框架。将此添加到项目中project.json文件中的依赖项中,会出现以下错误:
"Microsoft.AspNet.Mvc.Razor": "6.0.0-beta5" //or whichever version you want
编辑:
将其添加到项目中project.json文件中的依赖项中,会出现以下错误:
"Microsoft.AspNet.Mvc.Razor": "6.0.0-beta5" //or whichever version you want
编辑:
Microsoft.AspNet.Mvc.Razor不可用。但是已经有对Microsoft.AspNet.Razor的引用。您确定要使用ASP.NET 5项目吗?好的,我通过从头创建一个新的ASP.NET5项目再次进行了测试。这一次,我确实看到了Microsoft.AspNet.Mvc.Razor,并将其包括在内。为了使其尽可能简单,我直接在API中添加了RazorEngine模板处理代码。但我仍然得到同样的错误。我对我的答案进行了编辑。是否在Startup.cs文件中设置了使用MVC的应用程序?是的,Startup.cs已设置为使用MVC。Microsoft.AspNet.MVC.Razor不可用。但是已经有对Microsoft.AspNet.Razor的引用。您确定要使用ASP.NET 5项目吗?好的,我通过从头创建一个新的ASP.NET5项目再次进行了测试。这一次,我确实看到了Microsoft.AspNet.Mvc.Razor,并将其包括在内。为了使其尽可能简单,我直接在API中添加了RazorEngine模板处理代码。但我仍然得到同样的错误。我对我的答案进行了编辑。在Startup.cs文件中是否有使用MVC的应用程序设置?是的,Startup.cs已设置为使用MVC。