.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 可能需要这些类型。


标签:Exception
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号