几天前,我的.NET 3.5应用程序在开始发出错误时开始失败
“无法找到运行此应用程序的运行时版本”。
由于我没有对他们做任何事情,这对我来说很奇怪。经过一番调查,我发现,原因是Windows自动更新,它将.NET 3.5或.NET 4的Service Pack安装到我的计算机上(我没想到两个中的哪一个是有罪的)。由于控制面板的“已安装的Windows更新”列表中未显示该更新,因此无法卸载该更新。我不得不恢复到系统还原点!
今天我的一位客户抱怨同样的问题。我不能强迫他恢复系统恢复,所以我需要知道如何克服这个愚蠢的微软的事情。任何人都可以分享你的想法吗?
P.S。该软件受CodeVeil 1.2保护,这可能很重要。
答案 0 :(得分:2)
在我们建议解决此问题之前,我们需要了解这里发生了什么。解决这个问题的第一步是获取更多信息
通常,在为计算机上未安装的CLR版本编译应用程序时会出现此错误消息。例如,具有2.0应用程序但仅具有4.0 CLR。
答案 1 :(得分:1)
感谢大家的帮助!
我终于发现这是旧的CodeVeil,它在破坏应用程序时犯了罪。安装.NET 4.0更新后,受CodeVeil 1.2保护的所有应用程序都完全被破坏。我购买了该产品的最新版本,现在可以使用了。
答案 2 :(得分:-1)
在我的情况下,问题很容易解决,在app.config文件中添加以前的运行时版本,如此处所述 https://msdn.microsoft.com/en-us/library/jj152935(v=vs.110).aspx
<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="<YOUR_VERSION>"/>
</startup>
</configuration>
在你的情况下,遵循上面的doc应该是“v2.0.50727”,因为这个字符串也被映射为.NET 3.5。
有可能的版本列表 https://msdn.microsoft.com/en-us/library/jj152935(v=vs.110).aspx