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