目标 .NET 4.0 但需要 .NET 4.5
Posted
技术标签:
【中文标题】目标 .NET 4.0 但需要 .NET 4.5【英文标题】:Target .NET 4.0 but .NET 4.5 is required 【发布时间】:2012-11-03 23:21:22 【问题描述】:我们最近迁移到 VS 2012,但我们需要继续使用 .NET 4.0。我们的大部分客户群仍在使用 XP,Windows XP 不支持 .NET 4.5。
现在,解决方案中的所有项目都面向 .NET 4.0 或更低版本。当我们运行应用程序时,它告诉我们安装 .NET 4.5 Framework,而只使用 .NET 4.0?
在生成的配置文件中我看到:
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
如果我在配置文件中手动将Version=v4.5
更改为Version=v4.0
,一切正常,我们可以运行应用程序,但是必须这样做似乎很奇怪?有人可以向我解释在我们为 4.0 开发时导致解决方案要求 4.5 的原因吗?
【问题讨论】:
这可能对link有帮助 它有帮助,但让我有点害怕..... 安装程序项目中是否有 4.5 作为先决条件? 不,配置文件是在 Visual Studio 的编译时创建的。我还没有使用安装程序。 【参考方案1】:当您使用 Visual Studio 2012 创建 .NET Framework 4.5 项目时,此 XML 内容会自动在 app.config 文件中创建。当您将项目重新定位到 .NET Framework 4 时,这些条目也会在 app.config 文件中恢复.看起来您的 app.config 条目由于某种原因未还原。 可以手动编辑文件(就像您所做的那样)。您的项目将不再需要 .NET Framework 4.5。
【讨论】:
以上是关于目标 .NET 4.0 但需要 .NET 4.5的主要内容,如果未能解决你的问题,请参考以下文章
XmlSerializer 空引用异常出现在 .NET 4.0 但不在 .NET 4.5
WiX 在具有 .NET 3.5 的机器上安装 .NET 4.5,但不在具有 .NET 4.0 的机器上
.net 4.0 和 .net 4.5 中的 HttpClient 有啥区别
安装 .NET 4.5 真的会取代 .NET 4.0 程序集吗?