Could not load file or assembly 'System.Web.Http.WebHost, Version=5.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)
查看dll 版本,查看相关联的dll 的版本,确认是否版本号顺序是否正确。经查,Http.WebHost 用的是 5.0.0.0 ;System.Web.Http 用是 5.2.0.0 。修改 Http.WebHost 的版本为5.2。
自从有了 packages 与 Nuget 之后。各开发人员的电脑环境不一样,经常将 本地的引用签入到 tfs中 ,造成 packages.config 文件越来越大,dll 之间的引用混乱。
一时找不到对策,只好将 packages.config 永久的签出独占。如果大家有更好的方法,请顺便告诉我。
Visual Studio 2013中有一个新的特性。在构建应用程序时,您应该会看到警告被引用一个组装的不同版本。