【发布时间】:2023-04-03 16:50:02
【问题描述】:
我对 .NET 和 C# 还是很陌生。
我最近承担了将我的应用程序从 .NET 4.0 升级到 .NET 4.5 的任务,以跟上我团队中的其他产品。
我希望能够在 .NET 4 和 .NET 4.5 上运行我的应用程序(其中有几个项目,一些基于 ASP .NET 的 Web 项目和一些独立的应用程序项目(控制台应用程序))。
按照有关<supportedRuntime> Element 的在线说明通过更改目标运行时从.NET 4.0 升级到.NET 4.5,我意识到compilation 元素的targetFramework 属性现在是4.5。我知道这意味着代码肯定可以在 .NET 框架 4.5 上运行。
如果我有一组仍在运行 .NET 4.0 的等待 4.5 升级的节点怎么办。我很确定我的更改会破坏应用程序。
所以我做了一些研究,在参考了一些在线文档后,我从解决方案中项目的supportedRuntime 文件中的supportedRuntime 元素中删除了sku 属性。尽管supportedRuntime 元素的version 属性仍然是v4.0(CLR 版本)。我希望这能让应用程序同时在 .NET Framework 4.0 和 4.5 上运行。
但除了我从ASP .NET configuration guidelines 中读到的内容之外,我对compilation 元素及其意义并不太了解。离开targetFramework 是否会确保我的应用程序在 .NET 4.0 和 .NET 4.5 上都可以运行?
如何确保我的更改与 .NET 4.0 和 .NET 4.5 兼容?
[为什么不将其保留为 .NET 4.0,直到节点升级其 .NET 框架?]
您可能想知道为什么我现在不能将其保留为 .NET 4.0。 目的是升级到 .NET 4.5。但独立脚本运行在一组节点上,这些节点在不支持 .NET 4.5 的 Windows Server 2003 上运行。我已经让我的系统管理员团队单独为这个过程分配另一个带有 .NET 4.5 的节点。所以目前我还不能真正完全升级我现有的代码。直到我在 .NET 4.5 上测试我现有的代码并将部署配置到这些新节点之后。 感谢@hvd 的评论,它在我困惑的大脑中点亮了一个灯泡。现在我知道如何继续了。
【问题讨论】:
-
我可能遗漏了一些东西,但您为什么不简单地将您的应用程序保留为 .NET 4.0?这应该已经在具有 .NET 4.5 的系统上运行。
-
感谢@hvd,这很有意义。现在我该如何结束这个问题。
标签: c# .net upgrade compatibility