我刚刚安装了asp.net mvc-4 beta来托管我们的api。它工作正常,直到我刚刚在我的机器上安装了vs2012 ultimate。该项目既没有在vs2010中编译,也没在vs2012中编译。我该怎么做才能解决这个冲突。此外,我在我的服务器上部署了asp.net web api程序集。在服务器上运行最新版本(一旦上一个问题解决了)我需要做什么?
修改
我在vs2012中打开时的编译错误是
'System.Net.Http.HttpRequestMessage' does not contain a definition for 'GetUserPrincipal' and no extension method 'GetUserPrincipal'...
'System.Web.Http.Hosting.HttpPropertyKeys' does not contain a definition for 'UserPrincipalKey'
另一方面,在vs 2010中,它拒绝接受DelegatingHandler等类型。一些错误如下。
The type or namespace name 'DelegatingHandler' could not be found (are you missing a using directive or an assembly reference?)
The type or namespace name 'HttpResponseMessage' could not be found (are you missing a using directive or an assembly reference?)
我已经安装了最新版本的asp.net mvc 4,它显示的版本是4.0.20713.0。以前,我使用nuget添加了web-api beta。我已将它们全部删除,并从nuget安装了最新版本的web-api。我不知道会出现什么问题。有一点,我不明白:为什么我们需要在它们被认为是mvc框架的一部分时分别安装web-api程序集? 感谢
答案 0 :(得分:0)
使用System.ServiceModel.Channels添加;到你的文件。根据{{3}},此命名空间中存在HttpRequestMessage的Extension方法。
答案 1 :(得分:0)
添加
using System.Net.Http;
您可能已经有了参考,所以只需添加扩展方法的使用 否则添加相同名称的程序集。