代码之家  ›  专栏  ›  技术社区  ›  CubanX

升级到4.0框架,然后降级,现在找不到linq命名空间?

  •  2
  • CubanX  · 技术社区  · 14 年前

    我刚从VS2008升级到VS2010。在此过程中,我允许它将我的dll升级到4.0。我觉得这不是个好主意,现在我又回来了。

    在VS2010中一切正常,但当它击中我的CI服务器(CruiseControl.net)时,我得到一个错误:

    The type or namespace name 'Linq' does not exist in the namespace 'System' (are you missing an assembly reference?

    3.5在服务器上,其他使用3.5的项目构建良好,所以我不认为这是框架问题。

    有人有什么提示吗?

    2 回复  |  直到 14 年前
        1
  •  6
  •   Reed Copsey    14 年前

    确保您有对system.core.dll的引用。

        2
  •  5
  •   CubanX    14 年前

    我确实有一个对System.Core的引用,但它是针对我的一个项目的,当我降级时,它没有将这个位添加回我的项目文件中:

    <Reference Include="System.Core">
      <RequiredTargetFramework>3.5</RequiredTargetFramework>
      <Private>False</Private>
    </Reference>
    

    其中的关键部分是RequiredTargetFramework。我之所以被包括进来,是因为不仅没有找到Linq,而且还发现了func<>和扩展方法属性。

    所有3.5件东西都不见了。