2012-03-15 66 views
0

我使用ASP.NET MVC 3(Razor)和SQL Server 2008 Express制作简单的Azure应用程序。 而且有这样的错误: “错误CS0234:类型或命名空间名称‘WindowsAzure’不存在命名空间‘微软’存在(是否缺少程序集引用?)”Azure中模型中var项的问题

在此查看

@foreach (var item in Model) { // error string 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.TextThought) 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { id = item.IdThought }, new { id = item.IdThought }) | 

法在控制器:

public ActionResult Index() 
    { 

     return View(db.GetThoughts()); 
    } 

方法内容:

public IQueryable<Thoughts> GetThoughts() 
    { 
     return _db.Thoughts; 
    } 

请帮帮我,有人。

回答

0

这听起来像你缺少或拼错参考。检查你的使用陈述和项目参考都是正确的。

+0

没有,所有referens是正确的,因为这段代码在没有Azure的ASP.NET MVC 3(Razor)中工作良好。 我认为这个错误是特定的Azure,但不明白... – user1271127 2012-03-15 09:33:51

+1

根据您的错误消息,您尝试使用Visual Studio无法解析的命名空间'Microsoft.WindowsAzure',因此建议您检查您有正确的参考。 – 2012-03-15 09:43:40

0
  1. 您能否为我们提供您的using声明?
  2. 你为什么需要这个参考?我只使用显式的Azure类来存储表和blob。
  3. 您确定您添加了对该程序集的引用吗?
+0

前段时间有同样的错误,但是遗忘了修补程序 – 2012-05-05 14:55:29

+0

可能是你刚刚在你的解决方案中添加了正确的参考文件。 – AvkashChauhan 2012-05-07 18:17:18

+0

可能,仍然记不住 – 2012-05-10 07:32:32

0

有很简单的方法可以重现这个问题。尝试首先创建一个示例MVC3 ASP.NET Web Role,然后删除引用“Microsoft.WindowsAzure.ServiceRuntime”,并且您将遇到完全相同的错误,您将在其中引用从Microsoft.WindowsAzure.ServiceRuntime发出的方法。

所以,这个问题可能导致您在应用程序中缺少对“Microsoft.WindowsAzure.ServiceRuntime”的引用,并且需要添加正确的引用来解决此问题。

的DLL位于如下:

C:\ Program Files文件\的Windows Azure SDK \ _SDK_Ver(V1.6)_ \参考\ Microsoft.WindowsAzure.ServiceRuntime.dll