1

我前段时间安装了 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。我不知道可能是什么问题。一件事,我不明白:为什么我需要单独安装 web-api 程序集,因为它们应该是 mvc 框架的一部分?谢谢

4

2 回答 2

0

add

using System.Net.Http;

You probably have the reference already, so just add the using for the extension method.
Otherwise add the Assembly of the same name.

于 2015-03-07T10:26:04.237 回答
0

使用 System.ServiceModel.Channels 添加;到你的文件。根据THIS ,此命名空间中存在 HttpRequestMessage 的扩展方法。

于 2013-01-28T17:31:05.463 回答