app.config中的supportedRuntime设置只能在3.5版上运行吗?例如,使用SKU?
目前我们遇到的问题是,如果使用.NET framework 2.0运行,我们的应用程序会因找不到方法而崩溃。这给客户带来了不好的反馈。
答案 0 :(得分:2)
<supportedRuntime>
仅用于确定CLR版本 - 对于框架版本3.5和2.0,它是相同的。我不知道在启动参数方面需要.NET 3.5的任何方式。
话虽如此,创建一个首先探测.NET 3.5程序集的入口点应该相对简单,并且如果找不到它们会给出友好的错误消息。当然,这将取决于您正在运行的应用程序类型,但如果它是本地GUI(例如WPF或WinForms),那么它应该不会太难。
答案 1 :(得分:2)
.NET 4.0
之前不支持“sku”属性这不是真正的问题。你没有依赖3.5,你有一个在.NET 2.0 SP1或SP2上。客户端正在运行RTM版本的2.0。微软在服务包更新中犯了一个错误,它潜入了一些RTM版本中没有的方法重载。在不更改程序集的[AssemblyVersion]的情况下,它仍然是2.0.0.0
这非常非常顽皮,并且造成了很多痛苦。在.NET 4中解决,参考程序集现在不再是GAC中程序集的纯文本。
解决此问题的基本方法: