无法加载文件或程序集'RevitApi'版本= 19.0.0.0,

时间:2019-03-03 22:51:17

标签: c# visual-studio winforms user-controls .net-assembly

过去几周来,我一直在为程序“ Revit”创建一个加载项。一切都很好,但是突然之间,每当我尝试将DataSource的{​​{1}}设置为班级DataGridView时,都会收到错误消息:

  

使用下拉菜单时出现错误:无法加载文件或程序集'RevitAPI,版本= 19.0.0.0,Culture = neutral,PublicKeyToken = null'或其中之一   依赖性。系统找不到指定的文件。

我没有更改文件位置或其他任何内容,并且getEntiteitenData已加载到所有类中。另外,我在另一个.dll上使用了此方法,并且效果很好。到目前为止,我只能说出一个唯一的区别,一个是DataGridView,另一个是Windows Form

最令人讨厌的是,当出现错误时,它将关闭我的视觉工作室。

任何帮助将不胜感激!

enter image description here

2 个答案:

答案 0 :(得分:0)

您可以尝试一下。

将此行添加到应用程序的主类。必须先调用它。

        AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);

将此代码添加到您的应用程序中。

static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
        {
            string assemblyFullName;

            System.Reflection.AssemblyName assemblyName;

            assemblyName = new System.Reflection.AssemblyName(args.Name);
            assemblyFullName = System.IO.Path.Combine(
                System.IO.Path.Combine(
                    System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86), <You folder>), assemblyName.Name + ".dll");

            if (System.IO.File.Exists(assemblyFullName))
                return System.Reflection.Assembly.LoadFile(assemblyFullName);
            else
                return null;
        }

这只会在您的应用程序文件夹或您定义的文件夹中加载程序集

答案 1 :(得分:0)

由于某种原因,该问题仅在我从设计器窗口绑定数据时才出现。我尝试通过代码将其绑定,并且这样做有效!

将其添加到Designer.Cs之后:

private System.Windows.Forms.BindingSource getEntiteitenDataBindingSource3;
this.getEntiteitenDataBindingSource3 = new System.Windows.Forms.BindingSource(this.components);
((System.ComponentModel.ISupportInitialize)(this.getEntiteitenDataBindingSource3)).BeginInit();
this.entiteitenGrid.DataSource = this.getEntiteitenDataBindingSource3;
this.getEntiteitenDataBindingSource3.DataSource = typeof(getEntiteitenData);
((System.ComponentModel.ISupportInitialize)(this.getEntiteitenDataBindingSource3)).EndInit();

一切似乎都可以正常工作了,我想绑定的列现在在设计器中是实际的视觉效果。