2017-05-29 434 views
0

我有一个ASP.NET MVC 5项目,Web.config中的以下目标框架设置为.NET 4.6.2,但TargetFrameworkName显示.NET 4.5

<compilation debug="true" targetFramework="4.6.2">

<supportedRuntime version=".NETFramework,Version=v4.6.2" />

但是,在两个IIS Express和IIS上,AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName都返回.NETFramework,Version=v4.5而不是4.6.2。

如何让AppDomain加载.NET 4.6.2而不是4.5?

回答

0

当升级从.NET 4.5的项目通过项目属性对话框.NET 4.6.2,Visual Studio中只改变compilation targetFramework。然而,httpRuntime targetFramework保留在4.5。

compilation targetFramework="4.6.2"编译我的代码与.NET 4.6.2,但是当IIS运行时,它读取httpRuntime targetFramework="4.5",因此在.NET 4.5中运行。

0

您是否在安装了4.6.2的计算机上运行IIS?我认为4.6.2可能没有安装在IIS安装的服务器/机器上。如果您已经在服务器机器中安装了4.6.2,那么您可以按照以下步骤在IIS中设置目标框架。

要为应用程序池

  1. 打开IIS管理器指定.NET Framework版本。有关打开IIS管理器的信息,请参阅打开IIS管理器(IIS 7)。
  2. 在连接窗格上,展开服务器节点并单击应用程序池。
  3. 在“应用程序池”页面上,选择要为其指定.NET Framework版本的应用程序池,然后单击“操作”窗格中的“基本设置”。
  4. 在编辑应用程序池对话框的.NET Framework版本列表中,选择希望应用程序池使用的版本,或者如果应用程序仅使用本机代码,请选择“无托管代码”。
  5. 单击确定。

来源: - Microsoft

+0

已安装.NET 4.6.2。应用程序池仅显示.NET CLR版本v4.0.30319,Microsoft文档始终声明4.6.2是就地升级,因此所显示的版本号不会更改。但是,不同的.NET框架之间会有行为变化,我想选择4.6.2中的那些 –

相关问题