【问题标题】:Visual Studio 2010 build with wrong frameworkVisual Studio 2010 使用错误的框架构建
【发布时间】:2010-10-28 20:29:06
【问题描述】:

我正在开发 Visual Studio Profesionnal 2010。

在我的解决方案中,我有 2 个项目 第一个是具有目标 .net 运行时 2.0 的网站 第二个是带有目标 .net 运行时 2.0 的 dll 我将第二个的输出添加为第一个的程序集。

我构建、重建和清理我的解决方案 结果:构建成功

但是当我在我的网络浏览器中启动项目时(在调试或发布中)。 我遇到了服务器错误:

此程序集由比当前加载的运行时更新的运行时构建,无法加载

是否有人已经遇到过问题?

我认为这可能是 Visual Studio 2010 的一个错误,但热线电话非常昂贵 300 欧元的电话费。

更多信息: 我用反射器打开了我的 dll,发现 mscorlib 被引用了 2 次 第一次版本 = 2.0 第二次版本 = 4.0

【问题讨论】:

  • 你确定你没有针对 .NET 4.0 运行任何东西吗?
  • 是的,我确定,我最近在 Windows 7 和 Visual Studio 2010 上迁移了我的机器,我没有改变我的解决方案,我拒绝了转换
  • 来自 VS 调试的服务器错误?没有 IIS 部署?
  • 是的,来自 VS 调试,我不知道 IIS 部署,因为我不会在这种状态下部署我的项目
  • 你如何“在我的网络浏览器中启动项目”?如果您使用 IIS 来托管站点并复制 DLL 文件,请确保将最新版本复制到 BIN 文件夹。此外,如果托管在 IIS 中,请通过网站 Properties --> ASP.NET tab 确保它的目标是 2.0 框架而不是默认的 1.1

标签: asp.net visual-studio-2010 build-process


【解决方案1】:

使用文本编辑器(例如记事本)打开 .csproj 文件并查看其中的引用。

如果有对高于 2.0 的框架的引用,请删除它们或尽可能更改为 2.0,保存并重新加载项目。

【讨论】:

  • 你在 csproj 中是对的,我发现对 3.5 而不是 2.0 的引用,所以我创建了一个新项目并迁移我的所有文件和引用,它工作正常。我认为 Visual Studio 在将我的项目 VS2008 转换为 VS2010 时做错了。谢谢大家
【解决方案2】:

我很确定这意味着您使用 3.5x 的 asp.net 框架构建,但您的服务器只有 3.0x。更新服务器上的运行时。

【讨论】:

  • 我知道,但我的两个项目在 app.config 和 web.config 中也是针对 2.0(我的项目 > 右键单击​​ > 属性 > 构建 > 目标框架 2.0)
  • 你看到我上面的评论了吗?如果您使用的是 IIS,您可能需要在此处更改站点配置。
  • 好吧,这很酷,但我不会在 v4 或 v3.5 运行时下运行我的项目。因为我没有在我的 prod 服务器上使用手,所以我不能这样做,我编辑我的问题以强调问题的一部分:mscorlib 4.0 和 2.0 都是加载和引用的,为什么 Visual Studio 构建我的 dll 并引用 mscorlib 4.0进入。
【解决方案3】:

您的服务器只能支持3.0,更新服务器即可解决问题..

【讨论】:

  • 问题不是“我需要什么版本才能让我的应用程序运行”。问题是“如何让我的 .net 2.0 程序集在我的开发环境中工作”。
猜你喜欢
  • 1970-01-01
  • 2012-11-04
  • 2011-07-28
  • 2011-05-28
  • 1970-01-01
  • 2011-05-12
  • 2011-11-14
  • 2012-06-15
  • 1970-01-01
相关资源
最近更新 更多