Asp.net 如何正确地将目标框架更改为.NET4.0

Asp.net 如何正确地将目标框架更改为.NET4.0,asp.net,.net,asp.net-mvc,visual-studio,entity-framework,Asp.net,.net,Asp.net Mvc,Visual Studio,Entity Framework,我在我的Windows 7机器上使用MVC 5和Visual Studio 2017分别使用target framework.NET 4.6和Entity framework 6构建了一个应用程序。现在有人告诉我,我应该将应用程序构建到目标.NET4.0,因为生产环境只安装了4.0。因此,我将目标框架更改为4.0,但现在应用程序将无法在我的机器上构建 我猜我还需要降低MVC和EF的等级。正确的做法是什么 我应该安装哪些版本的MVC和EF 我需要手动更改web.config吗?没有“正确”的方法,

我在我的Windows 7机器上使用MVC 5和Visual Studio 2017分别使用target framework.NET 4.6和Entity framework 6构建了一个应用程序。现在有人告诉我,我应该将应用程序构建到目标.NET4.0,因为生产环境只安装了4.0。因此,我将目标框架更改为4.0,但现在应用程序将无法在我的机器上构建

我猜我还需要降低MVC和EF的等级。正确的做法是什么

我应该安装哪些版本的MVC和EF

我需要手动更改web.config吗?

没有“正确”的方法,您有3个选项,按我最喜欢的顺序排列:

  • 更新服务器/安装.net 4.5
  • 在新项目中重新开始,并确保目标版本为4.0:您可以复制大部分源文件。您可能会遇到一些编译器错误,但通常它们很容易修复。通过这种方式,您将获得使用的模板与框架和包版本相匹配的好处
  • 在项目属性中重新定位已使用的框架,并替换已安装的软件包,希望获得最佳效果(有时您需要其他软件包)。希望您使用包管理器来安装这些包。也许
    updatepackages
    命令有帮助,但一定要先备份项目。有些软件包经过一段时间后会过时,有些软件包会被重命名。这就是问题的根源。另外,有些方法/API调用会有所不同,因此需要进行一些返工
至于你剩下的问题:

我猜我还需要降低MVC和EF的等级。正确的做法是什么

使用nuget软件包管理器

我应该安装哪些版本的MVC和EF

nuget软件包管理器将为您解决此问题。

我是否需要手动更改web.config

有时:是的。

没有“正确”的方法,您有3个选项,按照我最喜欢的顺序:

  • 更新服务器/安装.net 4.5
  • 在新项目中重新开始,并确保目标版本为4.0:您可以复制大部分源文件。您可能会遇到一些编译器错误,但通常它们很容易修复。通过这种方式,您将获得使用的模板与框架和包版本相匹配的好处
  • 在项目属性中重新定位已使用的框架,并替换已安装的软件包,希望获得最佳效果(有时您需要其他软件包)。希望您使用包管理器来安装这些包。也许
    updatepackages
    命令有帮助,但一定要先备份项目。有些软件包经过一段时间后会过时,有些软件包会被重命名。这就是问题的根源。另外,有些方法/API调用会有所不同,因此需要进行一些返工
至于你剩下的问题:

我猜我还需要降低MVC和EF的等级。正确的做法是什么

使用nuget软件包管理器

我应该安装哪些版本的MVC和EF

nuget软件包管理器将为您解决此问题。

我是否需要手动更改web.config


有时:是。

我需要在我的机器上安装.net framework 4.0吗?因为如果我安装了4.5,那么DLL仍然会引用4.5,即使我在visual studio中的目标是4.0。如果您使用的是visual studio,通常所有的.net版本都已经存在于您的计算机上,您不必担心这一点。您可以在visual studio 2017的安装程序中查看这一点,在名为
单个组件的部分
我还发现,如果我使用.NET 4.0,那么我只能使用MVC 4,而MVC 4显然无法在VS2017上开发,因此我也必须降级VS?嗯。。。看来你是对的,我错过了。实际上,MVC4模板似乎缺失了。我已经找过了,但是找不到。您可以启动一个MVC4项目,但它是一个空模板,然后您需要自己“重建”模板。安装VS2015将帮助您。。。。但是仍然;我不推荐。在过去,在较新版本上安装较旧的VS版本可能会导致复杂性。我是否需要在我的计算机上安装.net framework 4.0?因为如果我安装了4.5,那么DLL仍然会引用4.5,即使我在visual studio中的目标是4.0。如果您使用的是visual studio,通常所有的.net版本都已经存在于您的计算机上,您不必担心这一点。您可以在visual studio 2017的安装程序中查看这一点,在名为
单个组件的部分
我还发现,如果我使用.NET 4.0,那么我只能使用MVC 4,而MVC 4显然无法在VS2017上开发,因此我也必须降级VS?嗯。。。看来你是对的,我错过了。实际上,MVC4模板似乎缺失了。我已经找过了,但是找不到。您可以启动一个MVC4项目,但它是一个空模板,然后您需要自己“重建”模板。安装VS2015将帮助您。。。。但是仍然;我不推荐。在过去,在较新版本上安装较旧的VS版本可能会导致复杂性。不管答案如何,我真的很惊讶有人被要求在2018年底在.NET版本4.0上开发ASP.NET MVC应用程序,而.NET的最新版本是4.7.2,.NET核心是2.2!。净4.5.1支持于2016年1月12日结束。生产环境只有4.0的可能性很小,如果只有4.0,则是一个更大的问题。不管答案如何,我真的很惊讶有人被要求在2018年底在.NET版本4.0上开发ASP.NET MVC应用程序,而最新版本的.NET是4.7.2,.NET核心是2.2!。净4.5.1支持于2016年1月12日结束。生产环境发生变化的可能性很小