0

我已经收到了一堆 C# 解决方案。服务器上有生产代码,我在本地开发机器上有一个版本。我进行了代码更改,并构建了 dll。当我尝试将 dll 复制到服务器时,它给了我如下错误:

"Could not load file or assembly 'myfile.dll' or one of its dependencies. 
This assembly is built by a runtime newer than the currently loaded runtime 
and cannot be loaded."

问题之一是我用于构建 ORM、数据和业务逻辑的项目不在服务器上,而是在我的本地,我可以使用它们来构建 dll,但是当我可以时它没有帮助也不要告诉服务器正在使用什么。您在哪里可以找到它运行的版本以及如何构建以匹配?我知道这是我自己的无知,不知道 .net 框架是如何工作的、不同的版本、如何为正确的框架构建(32 位与 64 位也是一个问题?)并让事情正常工作。我环顾四周,但似乎没有任何地方可以解释这一点。

4

2 回答 2

1

32 位或 64 位不应该打扰您。要查找框架版本,您必须在IIS中查找网站或虚拟目录。

我这里没有 Windows Server,但它是这样的:

  1. 打开 IIS 管理工具
  2. 找到您的网站或虚拟目录,右键单击并转到属性
  3. 应该有一个名为 .Net 的选项卡(或类似的名称)
  4. 在此选项卡中,有一个与 IIS 绑定的可用运行时版本的组合。当前是您正在使用的那个。

这些步骤适用于 IIS 6。对于 IIS 7,它基本相同,但他们不称其为“属性”窗口,而是“高级的东西”。

很抱歉没有正确的详细信息,但您可以找到它。

于 2012-08-28T20:23:08.747 回答
0

要在 vs2k10 中更改项目的目标框架:打开项目属性 -> 应用程序选项卡 -> 目标框架(其组合框与可用版本)

检查/更改服务器上的框架版本(适用于 IIS 7.0 版本):

  1. 打开 IIS 管理器。
  2. 单击“应用程序池”节点。
  3. 找到您的网站/虚拟目录使用的相应应用程序池(默认情况下有一个“DefaultAppPool”应用程序池)。
  4. 右键单击应用程序池,然后选择“高级设置”</li>
  5. 应该有“.NET Framework 版本”</li>
于 2012-08-28T20:28:29.977 回答