System.IO.FileNotFoundException 和 AutoCAD 支持文件搜索路径
我正在创建一个程序,它有一个“rehost workflow Design”(就像SubAssembly Composer一样),它无法创建工具箱控件。发生的错误:
System.IO.FileNotFoundException:无法加载文件或程序集......
到目前为止我了解到,因为DLL不在GAC中,windows找不到它。
所以我测试了以下假设:
1)第一次NETLOAD,调用命令时没有在“支持文件搜索路径”
中设置DLL文件夹,结果:ERROR
2)将DLL文件夹添加到“支持文件搜索路径”中,然后调用命令时NETLOAD
,结果:WORKS
3)通过“LOADCTRLS”键启用autoload(定义IExtensionApplication.Initialize),调用命令时不在“支持文件搜索路径”
中添加DLL,结果:ERROR
4)现在dll被注册表加载(“LOADCTRLS”),仍然没有“支持文件搜索路径”,当调用命令时调用命令
,结果:ERROR
5)在与步骤4相同的cad会话中,将DLL添加到“支持文件搜索路径”中,在调用命令时不点击“浏览”按钮
编辑字段,结果:ERROR
6)在与步骤5相同的cad会话中,将DLL添加到“支持文件搜索路径”中,通过单击“浏览”编辑字段"按钮
调用命令时,结果:ERROR
7)在与步骤6相同的cad会话中,我调用NETLOAD命令(filedia=1),导航到DLL文件夹,调用命令时不要选择任何东西并单击CANCEL
,结果:WORKS
我关闭cad,再次打开,调用命令时设置FILEDIA=0
,结果:ERROR
9)在与步骤8相同的cad会话中,NETLOAD,我在调用命令时通知DLL
的完整路径,结果:ERROR
10)在与步骤9相同的cad会话中,FILEDIA=1,NETLOAD,我导航到文件夹,但我没有选择任何东西,如在第7步,
调用命令时,结果:WORKS
因此它得出结论,NETLOAD命令不只是执行“Assembly.LoadFrom”。
它与FILEDIA=1一起工作的事实让我相信,正是显示NETLOAD窗口的代码部分以某种方式使DLL或其类型
可见,并且不会发生System.IO.FileNotFoundException错误
我添加了代码,以便您可以查看。
如果你能帮我,谢谢
**** Hidden Message *****
页:
[1]