包含System.Net.Http.Formatting的最佳方法可能是通过nuget。但是当开发人员在参考管理器的默认程序集部分中看到它时,他们只是添加它,期望所有开发人员默认安装它。但令我们惊讶的是,一些开发者机器没有这个dll。
所有开发人员都拥有找到此dll的正确文件夹 “C:\ Program Files(x86)\ Microsoft ASP.NET \ ASP.NET MVC 4 \ Assemblies \” 有些开发人员只有XML文件,其他人有dll,即使文件名相同。
为什么某些机器中缺少dll?
答案 0 :(得分:2)
有时候找到丢失的dll确实是一个问题。更好的方法是清理nuget缓存和文件夹,并再次恢复nuget包将解决此问题。
答案 1 :(得分:1)
System.Net.Http.Formatting mystery已解决
默认情况下不会与asp.net一起安装System.Net.Http.Formatting。如果它出现在一台开发人员机器中,那么可能是因为VS中的其他一些项目可能已经使用了一个nuget来将其拉入。这个开发人员在不知道这一点的情况下在一个新的/不同的项目中给出了这个dll的手动引用。对他/她来说一切正常。
当另一个/新开发人员试图在他/她的机器中执行相同操作时,在到达此特定项目(通过nuget拉入System.Net.Http.Formatting)之前,开发人员会收到错误(来自手动输入上面提到的上一个开发人员的dll项目)。这就解释了为什么他/她的机器中缺少dll。
但为什么XML文件存在呢? 因为包文件夹存储在tfs / git中,来自第一台开发者机器(通过nuget成功获得了dll)。并且tfs / git在签入时忽略了dll。