C# Breeze和Unity在ASP.NET WebApi应用程序中不协同工作
我正在一个示例.NETWebAPI应用程序中试用Breeze.js框架。我设置了几个控制器,并使用Unity.WebApi注入应用程序的工作单元 我使用的是EntityFramework6,所以我使用“BreezeClient and Server-Javascript Client with ASP.NETWebAPI 2 and EntityFramework6”包(id:Breeze.WebApi2.EF6)安装了Breeze。完成后,我添加了BreezeController,但现在我的应用程序出现了以下错误:C# Breeze和Unity在ASP.NET WebApi应用程序中不协同工作,c#,asp.net-web-api,unity-container,breeze,C#,Asp.net Web Api,Unity Container,Breeze,我正在一个示例.NETWebAPI应用程序中试用Breeze.js框架。我设置了几个控制器,并使用Unity.WebApi注入应用程序的工作单元 我使用的是EntityFramework6,所以我使用“BreezeClient and Server-Javascript Client with ASP.NETWebAPI 2 and EntityFramework6”包(id:Breeze.WebApi2.EF6)安装了Breeze。完成后,我添加了BreezeController,但现在我的应
Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
源错误:
Line 15: GlobalConfiguration.Configuration.DependencyResolver =
Line 16: new UnityDependencyResolver(container);
Line 17: }
Line 18:
Line 19: private static IUnityContainer BuildUnityContainer()
谷歌搜索和StackOverflow这个错误会产生与不同情况相关的结果,所以那些没有很大帮助的地方。但是错误来自Unity的引导程序文件,所以我删除了Unity,然后我的Breeze控制器开始工作。把团结放回去——它又破裂了
微风控制器:
public class BreezeController : ApiController
{
readonly EFContextProvider<DataContext> _contextProvider =
new EFContextProvider<DataContext>();
[HttpGet]
public string Metadata()
{
return _contextProvider.Metadata();
}
[HttpGet]
public IQueryable<Category> Categories()
{
return _contextProvider.Context.Categories;
}
}
公共类BreezeController:ApiController
{
只读EFContextProvider\u contextProvider=
新的EFContextProvider();
[HttpGet]
公共字符串元数据()
{
返回_contextProvider.Metadata();
}
[HttpGet]
公共可查询类别()
{
返回_contextProvider.Context.Categories;
}
}
这听起来像是一个统一问题。您安装的Unity版本很有可能没有针对最新的VS2013版本进行更新。请向微软查询
通过编写一个毫无困难的测试用例,您可以自己取得一些进展。从头开始,创建一个WebAPI项目。然后再加上团结。然后创建一个不做任何事情的类并尝试注入它。我敢打赌那是失败的。如果没有,请添加breeze包并重试 我想我就是这么做的。我从零开始了一个项目,添加了几个控制器,安装了Unity,一切正常,只有在我安装Breeze时它才坏了。可能是因为Breeze还更新了我使用的WebApi版本。我会检查的,值得检查。在过去的几周里,我们一直在努力将所有不同的组件放在同一个页面上。“DLL地狱”的结尾就到此为止:D.感谢您的耐心。WebApi似乎也在进行一些更新,所以希望看到事情很快稳定下来。但我可能错过了什么。“微风”和“统一”似乎是分开工作的,但当我把它们放在一起时,就会出现一些不一致的地方,出现错误。但是谢谢你的帮助,我稍后再试。肯定有很多DLL需要处理。