安装VS 2012 Ultimate后ASP.NET Web API冲突

时间:2012-08-25 11:09:32

标签: asp.net-mvc-4 asp.net-web-api visual-studio-2012

我刚刚安装了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程序集? 感谢

2 个答案:

答案 0 :(得分:0)

使用System.ServiceModel.Channels添加;到你的文件。根据{{​​3}},此命名空间中存在HttpRequestMessage的Extension方法。

答案 1 :(得分:0)

添加

using System.Net.Http;

您可能已经有了参考,所以只需添加扩展方法的使用 否则添加相同名称的程序集。