我有一个包含30个项目的大解决方案,其中2个是Web项目(MVC和WebAPI),带有一堆后台类库项目。
我已将visual studio设置为在IIS中托管Web项目。
如果我进行干净的构建,然后完整构建整个解决方案,那么通过浏览器访问这两个项目就可以正常工作。 (它们位于diff文件夹中,并在iis中的diff'domain'上托管)
如果我不进行任何代码更改,只需重建2个Web项目中的一个,另一个停止工作。
要明确的是,重建WebAPI项目会导致MVC项目出错。反之亦然。
我得到的错误是说找不到System.Web.Http.Formatter。详细说明定位的程序集版本与参考版本不同。检查bin文件夹显示情况并非如此。
答案 0 :(得分:8)
确保所有解决方案的资源都是最新的。如果您使用Nuget,请更新所有项目中的所有包(首先备份!)。听起来你的版本不匹配,复制到解决方案的输出目录的DLL中缺少功能。它可能涉及更改每个项目的Web.config中的某些条目,但无法访问代码,很难确定。
在更新每个库后报告回来,并确保版本与解决方案中的所有项目匹配。
答案 1 :(得分:4)
除了Apache和Steve的建议之外,我还建议deleting the files in your Temporary ASP.NET Files directory。如果您对该文件夹的内容所针对的here's a good write-up感到好奇。