类型或命名空间名称' Uri'找不到:(包含System.Uri命名空间)

时间:2014-12-18 20:40:26

标签: c# asp.net

我正在通过一个在线教程(构建Web应用程序)来学习ASP.NET。问题是,当我重复使用导师代码时,我坚持这个错误:

Error   1   The type or namespace name 'Uri' could not be found (are you missing a using directive or an assembly reference?)   

我尝试包含多个命名空间(如System.Uri),但没有一个工作。有人知道问题在哪里,我需要做些什么来解决问题?

这是代码:

using System.Collections.Generic;
using System.Net;
using System.Linq;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Web;
using System.Web.Http;
using System.Net.Http;
using System.Data.Entity.Infrastructure;
using System.Uri;
        public HttpResponseMessage Post(Friend friend)
        {
            if (ModelState.IsValid)
            {
                db.Friends.Add(friend);
                db.SaveChanges();

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, friend);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = friend.FriendId }));
                return response;
            }
            else
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }
    }

2 个答案:

答案 0 :(得分:6)

你不能拥有using System.Uri;,因为Uri是一个类(在Visual Studio 2015之前不允许进行静态导入,我认为你现在还没有使用它,即使是VS 2015,它会失败,因为Uri不是静态类

包括:

using System;

并删除

using System.Uri;

答案 1 :(得分:0)

来自microsoft doc http://msdn.microsoft.com/en-us/library/system.uri%28v=vs.110%29.aspx

include的引用是System.dll默认情况下应该存在。检查您是否错误地删除了它。