C# 如何知道需要为哪个版本的.net framework构建

C# 如何知道需要为哪个版本的.net framework构建,c#,.net,dll,build,C#,.net,Dll,Build,我得到了一大堆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 load

我得到了一大堆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位?),以及如何让事情正常工作。我四处看了看,但似乎没有任何地方可以解释这一点

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

我这里没有Windows服务器,但它是这样的:

  • 打开IIS管理工具
  • 找到您的网站或虚拟目录,右键单击并转到属性
  • 应该有一个名为.Net的选项卡(或类似的选项卡)
  • 在此选项卡上,有一个组合,其中包含绑定到IIS的可用运行时版本。电流就是你正在使用的电流
  • 这些步骤适用于IIS 6。对于IIS7来说,基本上是一样的,但他们不把它称为“属性”窗口,而是“高级的东西”


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

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

    要检查/更改服务器上的框架版本(适用于IIS 7.0版本),请执行以下操作:

  • 打开IIS管理器
  • 单击“应用程序池”节点
  • 查找您的网站/虚拟目录使用的相应应用程序池(默认情况下有一个“DefaultAppPool”应用程序池)
  • 右键单击应用程序池,然后选择“高级设置”
  • 应该有“.NET Framework版本”

  • 我们在谈论哪个IIS版本?@AndreCalil通常是IIS7,有时是6。我有许多项目,其中这是一个问题,但大多数不需要太多的dll建设,html代码最多。在IIS中,服务器说是v2.0 classic,但源代码似乎针对web.config和属性中的3.5或4.0。是否需要匹配?打开windows资源管理器并指向
    c:\windows\.Net Framework\Framework
    。如果有一个文件夹用于
    3.5
    ,那么您的目标版本应该是3.5(注意您的开发机器上的SP1,服务器可能没有它)。3.5在2.0之上运行所以我可以构建3.5 DLL在2.0 IIS7服务器上使用因为3.5实际上是2.0的附加功能?这准确吗?.NET3.5框架是2.0的扩展。即使将其安装在服务器上并绑定到IIS,您也无法在IIS上选择它,它将显示为2.0。这就是为什么我让你看一下安装目录,地址是
    C:\Windows\.Net Framework\…
    我服务器上的文件夹实际上是C:\Windows\Microsoft.Net\Framework,但是找到3.5文件夹并更改我项目上的目标就成功了,谢谢。