缺少装配时禁用应用程序功能

时间:2011-09-29 23:13:04

标签: c# .net dll

我正在构建一个使用Oracle.DataAccess.dll连接数据库来完成某项工作的应用程序。由于JIT加载,数据库访问不需要执行应用程序的90%,并且应用程序无需dll即可正常加载。但是,当访问使用dll的应用程序的特定部分时,它确实会崩溃。

我希望能够在dll丢失时主动禁用对该表单的访问,是否有任何方法可以在应用程序加载时检测到该dll?

更新

我能够通过

找到潜在的解决方案
if (!File.Exists("Path to Oracle.DataAccess.dll"))
{
     toolStripMenuItem.Enabled = false;
}

那里有更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以尝试Assembly.Load,看看它是否有效;否则,也许GetLoadedModules可能会做你需要的。路径搜索不起作用,因为它会排除GAC和其他地方的程序集。