这是两个部分的问题。我需要两个部分都有完整的答案。
Part I
我有一个.NET 4.5桌面应用程序,我想知道是否可以将它部署到Windows,如果在应用程序的Installshield项目的“需求”范围内,我勾选了“安装了.NET 4.0完整包”复选框,而不是“安装了.NET 4.5完整包”。
我读到这里说:
您可以为.NET 4.5编译一个应用程序,并在4.0运行时运行它--也就是说,直到您遇到了一个在4.0上不存在的新特性。这时,应用程序会在运行时进行轰炸。假设您编写了一些主要是.NET 4.0的代码,但是只有几个.NET 4.5的新特性,比如aync/await深入应用程序的内部,只是偶尔触发。.NET将很高兴地启动您的应用程序并运行所有4.0,直到它命中4.5代码,然后在运行时突然崩溃。
所以我知道我的应用程序在Windows上运行.NET 4.0的能力取决于什么。让我们假设这个问题,我的应用程序不会崩溃,如上文所述。
Part II
我还需要知道在将应用程序安装到安装了.NET 4.5的计算机上时,选择“安装了.NET 4.0完整包”而不是“安装了.NET 4.5完整软件包”会产生什么效果。Installshield安装程序是否会将已安装的.NET 4.5包视为.NET 4.0,从而不会抱怨?或者,由于没有安装.NET 4.0,它会挑剔地阻止应用程序的安装吗?
发布于 2012-11-07 18:40:54
您需要做的第一件事是将项目的目标框架版本从4.5更改为4.0,然后重新构建。如果您使用了任何4.5特定的特性,那么现在您将发现。你需要修复错误。
第2部分没有问题,.NET 4.5是.NET 4.0的替代品.安装程序不会先卸载4.5,所以它可以安装4.0,这会破坏该机器上所有现有的.NET应用程序。
https://stackoverflow.com/questions/13275601
复制相似问题