Change Target Framework from 4.5 to 4.0
我正在尝试将目标框架从4.5更改为4.0,我已在所有项目上更改了目标框架,并用VS2015创建了一个测试构建。我试图在安装了.NET 4.0的Win7中运行该应用程序,但应用程序崩溃,错误为mscorlib.dll和presentationframework.dll的system.io.fileloadException。有人知道怎么修吗?
更多信息我也尝试过:
使用vs2012生成,但无法使用vs2010,因为我使用的是bcl包中的async
创建新的解决方案,并从Start4.0框架开始创建新的项目。
对于任何可能有相同问题的人,请确保您已经安装了.NET Framework的最新更新,它在我安装了更新KB2468871之后才起作用。
我想问题是尝试在Windows7中运行.NET 4.5,它默认使用.NET 4.0。
选择:或者在Windows7中安装.NET 4.5(我不知道是否可能),或者将项目降级到NET 4。
- 我已将我的项目降级为.NET 4.0,但它不适用于Win7。我不想使用.NET 4.5
- 有些函数只在NET 4.5(和最新版本)中存在,而不是在NET 4中。您是否检查过NET 4中是否存在所有使用的函数?
- 是的,我还尝试删除我的Win10(没有周年更新)计算机中安装的每个.NET框架,但应用程序没有崩溃。
- 我真的很困惑……是否要在Windows 7中的Windows 10/NET 4.5应用程序中运行?您必须确保程序不使用任何NET 4.5函数-只需将其属性设置为NET 4,编译它并复制到Win7。一定够了。
- 该应用程序在Win7和Win10的.NET 4.5上运行正常。现在我想让它在.NET 4.0上运行,我已经做了任何必要的更改,但它不会只在Win10上在Win7上运行(两个操作系统都只安装了.NET 4.0)
- 问题可能与Win7中的GAC区域有关。由于该应用程序在Win10中运行net4/net4.5,而在Win7中只运行net4.5,因此问题与Windows有关。GAC区域是.NET所在的公共区域。可能存在损坏的mscorlib,或者与此相关的任何其他错误。尝试手动将dll地址添加到项目引用中,并将"复制到输出目录"设置为强制将dll转到应用程序文件夹。
- 我尝试将mscorlib和presentationframework libs复制到输出文件夹,但这不会改变任何内容。
- 你的参考指向你的应用文件夹吗?我的意思是,取消选中默认的libs位置,并将您复制的libs添加到项目的文件夹中。
- 您不能为mscorlib这样做,但是您可以为表示框架这样做,但是它不起作用。
- 所以…如果您的Net4库在Windows7中损坏,除非检查.NET修复实用程序,否则您别无选择。因为Win10中的代码即使使用了NET 4,但在Windows7中也不起作用,所以问题一定与操作系统有关。我在这里遇到了这样的问题,唯一的方法是在计算机中重新安装整个Windows7。祝你好运。。。
- 这不是一个选择,因为我不能告诉客户,如果应用程序崩溃到他们的计算机上,他们会有问题。
- 现在许多计算机/用户都有这种情况吗?因此,尝试用干净的win7+vs2010/vs2012配置一个VM或其他机器,并在那里编译。
- 它还没有公开,因为它不能在我的2台测试机上工作。我正在尝试使用远程调试器来找出真正的问题。PresentationFramework dll背后的问题可能是。非常感谢你抽出时间
- 我的荣幸。祝你好运!
- 远程调试之后,我发现PresentationFramework正在"调用"System.Core上发生了崩溃,我发现它需要对.NET Framework进行最新的更新。再次感谢您的时间。