Revit二次开发之Could not load file or assembly

欢迎加入BIM行业开发交流1群 群号:711844216(满),二群群号:1016453207
需要Revit二次开发全流程教学 的朋友可以联系我qq:1056295111

一、背景

小伙伴们在做reivt二次开发时,如果引用了非Revit提供给我们的dll,可能会出现 "Could not load file or assembly xxx"的错误提示。那么如何解决呢?

二、思路

解决方案1

在vs的引用中,右键,选择其属性,然后将复制本地设置为True
在这里插入图片描述

解决方案2

将引用的xxx.dll文件,放到revit自身的dll文件夹下,也就是RevitAPI.dll所在的文件夹,通常默认路径是C:\Program Files\Autodesk\Revit 2018,如果revit不是默认安装在C盘,那就在其他盘找到对应目录。然后在引用中,重新添加对此xxx.dll文件的引用。

解决方案3

在主程序中引用一下这个dll的方法(如果涉及到了外部事件、或者制作成安装包时)
举个例子:比如提示 Could not load file or assembly MaterialDesignThemes.Wpf.dll
在主程序中加入以下代码即可:

namespace RevitWpfTheme
{
    [Transaction(TransactionMode.Manual)]
    class Class1 : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            //我们在这个地方引用这个程序集MaterialDesignThemes.Wpf.dll里面一个类即可,比如Theme。
            Theme theme =new Theme();
            MainWindow wpf = new MainWindow();//实例化主窗口类
            wpf.ShowDialog();//展示界面
            return Result.Succeeded;
        }
    }
}

通过这三种方案,基本上就能解决Revit二次开发中,Could not load file or assembly 的问题。

三、注意事项

1.对于RevitAPI.dll和RevitAPIUI.dl了,我们通常会将其属性中的复制本地设置为false,但是有时候添加外部的其他引用可能需要将复制到本地设置为True。
2.大家好,我是黑夜の骑士,欢迎大家关注我的博客,笔者将持续输出revit二次开发以及编程干货。

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值