c# - 无法加载文件或程序集“RevitApi”版本 = 19.0.0.0,
问题描述
在过去的几周里,我一直在为“Revit”程序创建一个插件。一切都很好,但是突然之间,每当我尝试将DataSource
my设置DataGridView
为我的班级getEntiteitenData
时,我都会收到错误消息:
使用下拉列表时出错:无法加载文件或程序集“RevitAPI,版本=19.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。
我没有更改文件位置或任何内容,并且.dll
已在所有类中加载。另外,我在另一个上使用过这种方法,DataGridView
效果很好。到目前为止,我能说的唯一区别是,它在哪里工作,它是一个Windows Form
,另一个,它不工作的地方,它是一个user control
最烦人的是,当它给出错误时,它会关闭我的视觉工作室。
任何帮助将不胜感激!
解决方案
你可以试试这个。
将此行添加到应用程序的主类中。这必须在任何事情之前调用。
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;
}
这将仅加载应用程序文件夹或您定义的文件夹中的程序集
推荐阅读
- visual-c++ - 如何将整数文字指定为 WORD?
- android - 如何在 xml 数据绑定中使用表情符号?
- javascript - Navigation.navigate is not a function, navigation is undefined
- python - python的开放式高程API
- reactjs - 将一个 React 应用的 UI + 功能集成到另一个 React 应用中(如 Google Maps API)
- file - 如何使用 MPI 使用自定义子数组数据类型从文件中读取子数组?
- javascript - 如何使用正则表达式替换 .replace 脚本的确切值?
- selenium - 使用父级和兄弟级的 WebTable 的 Selenium XPath
- google-chrome - 可以使用 X-Frame-Options 嵌入网站的 Chrome 应用程序的替代品:拒绝?
- regex - 正则表达式匹配第 4 个字符后的其余字符串