【问题标题】:VS2008 to VS2010 project conversionVS2008到VS2010项目转换
【发布时间】:2009-06-11 19:20:59
【问题描述】:

我有一个在 VS2008 中构建并针对 .NET Framework 3.5 的组件项目。我最近下载了 VS2010 Beta 1,以确保该项目在切换到新 IDE 时能够正确转换。该项目包含对针对 2.0 版框架构建的几个 3rd 方 dll 的引用。我将项目更改为针对 4.0 版本的框架进行构建,但是当我尝试构建项目时,出现大量错误,看起来编译器无法识别类似于下面的那些第 3 方库的类类型。

“命名空间‘Microsoft.Practices.EnterpriseLibrary’中不存在类型或命名空间名称‘Data’(您是否缺少程序集引用?)”

我想弄清楚为什么我不能编译。根据我的阅读,.NET 4.0 使用不同版本的 CLR。这会如何或为什么会影响我访问这些类型的能力?我是不是必须要

a) 获取源代码并在 VS2010 / .NET 4.0 中重新编译,然后引用该程序集或

b) 等待项目作者执行上述“a”并发布针对 4.0 CLR 的程序集?或

c) 可能是因为我的 VS2010 安装失败了?

我可以将项目属性更改为目标 3.5,并且在 2010 IDE 下一切正常。

【问题讨论】:

  • 我的经验:VS2010在转换项目方面存在严重问题。

标签: visual-studio-2010 .net-4.0


【解决方案1】:

我怀疑这是因为 .NET 4.0 使用 CLR 4.0,而不是 2.0。 EL 4.1 将针对 CLR 2.0 构建,所以我不确定我是否希望在没有帮助的情况下找到它。

【讨论】:

  • 当我开始使用 .NET 2.0 (VS 2005) 时,我可以发誓我能够使用 1.1 dll。我没有安装它了,所以我不能肯定地说。我认为这种情况与那种情况相似。
  • 您永远无法混合使用 .NET 1.1 和 2.0。
  • 我刚刚得到了一个非常旧的 Log4Net 版本(比如从 '01 开始,运行时版本 v1.0.3705)并尝试了它。针对 2.0 框架,我能够成功编译。让我明确一点,我的机器上确实安装了所有版本的框架,包括 4.0 的测试版。我也能够毫无问题地让我的项目目标为 4.0。我认为我将不得不将其归结为转换问题,并深入挖掘该途径。
  • 当您说“1.1 dll”时,我以为您指的是 Microsoft .NET Framework 1.1。您的意思似乎是“最初针对 .NET 1.1 构建的程序集”。这些将起作用,并且它们将在默认配置下绑定到 2.0 程序集。
【解决方案2】:

对我来说似乎是一个 CLR 版本控制问题。

目前,我会推荐 b) 和/或直接编译到 v2.0/v3.5。

您想在 v4.0 中使用任何特定功能吗?

【讨论】:

  • 我期待的功能之一是能够更好地控制我的 ASP .NET 控件 ID,从而在针对特定控件时减少 javascript 的麻烦。
【解决方案3】:

我想将此问题标记为已回答,根据 cmets 和我自己的经验,我认为 Mehrdad 在问题所附评论中是正确的,并且这是一个 VS2010 项目转换问题。

【讨论】:

    猜你喜欢
    • 2012-06-03
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    相关资源
    最近更新 更多