.net之如果未安装 .NET 3.5,如何避免 FileNotFoundException
telwanggs
阅读:157
2025-06-02 22:19:02
评论:0
如果您尝试在未安装此版本的 .NET 框架的 Windows 计算机上启动 .NET 3.5 应用程序,您会收到针对某些系统程序集(例如 System.核心 3.5.0.0)。
是否有可能捕捉到这个异常并告诉用户升级他们的 .NET 框架,还是它抛出得太早而无法处理?
请您参考如下方法:
您目前如何部署应用程序? ClickOnce 可以在启动前进行组装 (GAC) 检查,并且使用 msi,您应该有一系列可用的预检查选项......虽然并不总是可行,但您可以考虑其中一个部署选项吗?
重新捕获异常 - 只需确保将 Main 拆分,以便它除了捕获异常之外什么都不做 - 否则 JIT 可能会阻止 Main 加载:
// [STAThread] here if winform
[MethodImpl(MethodImplOptions.NoInlining)]
static void Main() {
try {
MainCore();
} catch (SomeException ex) {
// TODO something simple but fun
}
}
static void MainCore() { ... } // your app here...
如果你在外部 Main 中放太多,它可能会在运行 any 之前出现问题,因为 JIT 可能需要这些类型。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。



