.net:模块System.Core版本3.5.0.0应该被引用

时间:2011-08-03 10:15:34

标签: .net asp.net-mvc projects-and-solutions

我有几个可能相关的问题。

首先在我的ASP.NET MVC项目视图中,lambda表达式语法如下:

<% =Html.TextBoxFor(x => x.Umi)%>

导致ReSharper突出显示该行并显示消息:

Module 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' should be referenced

其次,在同一视图中对Where使用IEnumerable<T>扩展方法会导致编译错误,因为无法找到扩展方法。

将项目中的引用添加到System.Core会导致:

A reference to System.Core could not be added. This component is automatically referenced by the build system.

我认为这个东西与项目是作为.NET 4项目创建的事实有关,但我不得不将其更改为目标3.5而不是服务器没有安装4个。

有人帮忙吗?

1 个答案:

答案 0 :(得分:5)

虽然我仍然不知道导致问题的原因,但我能够通过修改项目的.csproj文件来手动添加引用来修复它。

  1. 右键单击项目名称,然后单击“卸载项目”
  2. 右键单击项目名称,然后单击“编辑[项目名称] .csproj”
  3. 将以下Reference节点添加到ItemGroup节点(请参阅下面的代码)并保存
  4. 右键单击项目名称,然后单击“重新加载项目”
  5. 将System.Core的引用直接添加到.csproj文件的代码如下:

    <Reference Include="System.Core">
      <Private>True</Private>
    </Reference>