1、使用NuGet添加:Revit_All_Main_Versions_API_x64(动态引用)

2、修改工程文件配置:.csproj

复制如下的配置项

 <PropertyGroup Condition="$(Configuration.Contains('2017'))"><TargetFrameworkVersion>v4.6.1</TargetFrameworkVersion><RevitVersion>2017</RevitVersion></PropertyGroup><PropertyGroup Condition="$(Configuration.Contains('2018'))"><TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion><RevitVersion>2018</RevitVersion></PropertyGroup><PropertyGroup Condition="$(Configuration.Contains('2019'))"><TargetFrameworkVersion>v4.7</TargetFrameworkVersion><RevitVersion>2019</RevitVersion></PropertyGroup><PropertyGroup Condition="$(Configuration.Contains('2020'))"><TargetFrameworkVersion>v4.7</TargetFrameworkVersion><RevitVersion>2020</RevitVersion></PropertyGroup><PropertyGroup Condition="$(Configuration.Contains('2021'))"><TargetFrameworkVersion>v4.8</TargetFrameworkVersion><RevitVersion>2021</RevitVersion></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug2017|x64'"><OutputPath>bin\Debug2017\</OutputPath><DebugSymbols>true</DebugSymbols><Optimize>false</Optimize><DefineConstants>TRACE;DEBUG;REVIT2017</DefineConstants><DebugType>full</DebugType><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug2018|x64'"><OutputPath>bin\Debug2018\</OutputPath><DebugSymbols>true</DebugSymbols><Optimize>false</Optimize><DefineConstants>TRACE;DEBUG;REVIT2018</DefineConstants><DebugType>full</DebugType><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug2019|x64'"><OutputPath>bin\Debug2019\</OutputPath><DebugSymbols>true</DebugSymbols><Optimize>false</Optimize><DefineConstants>TRACE;DEBUG;REVIT2019</DefineConstants><DebugType>full</DebugType><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug2020|x64'"><OutputPath>bin\Debug2020\</OutputPath><DebugSymbols>true</DebugSymbols><Optimize>false</Optimize><DefineConstants>TRACE;DEBUG;REVIT2020</DefineConstants><DebugType>full</DebugType><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug2021|x64'"><OutputPath>bin\Debug2021\</OutputPath><DebugSymbols>true</DebugSymbols><Optimize>false</Optimize><DefineConstants>TRACE;DEBUG;REVIT2021</DefineConstants><DebugType>full</DebugType><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release2017|x64'"><OutputPath>bin\Release2017\</OutputPath><Optimize>true</Optimize><DefineConstants>REVIT2017</DefineConstants><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release2018|x64'"><OutputPath>bin\Release2018\</OutputPath><Optimize>true</Optimize><DefineConstants>REVIT2018</DefineConstants><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release2019|x64'"><OutputPath>bin\Release2019\</OutputPath><Optimize>true</Optimize><DefineConstants>REVIT2019</DefineConstants><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release2020|x64'"><OutputPath>bin\Release2020\</OutputPath><Optimize>true</Optimize><DefineConstants>REVIT2020</DefineConstants><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release2021|x64'"><OutputPath>bin\Release2021\</OutputPath><Optimize>true</Optimize><DefineConstants>REVIT2021</DefineConstants><PlatformTarget>x64</PlatformTarget><ErrorReport>prompt</ErrorReport><WarningLevel>4</WarningLevel><Prefer32Bit>false</Prefer32Bit></PropertyGroup><PropertyGroup>
 <ItemGroup><PackageReference Include="Newtonsoft.Json"><Version>12.0.3</Version></PackageReference><PackageReference Include="Revit_All_Main_Versions_API_x64" Version="$(RevitVersion).0.0" /></ItemGroup>

重新打开VS,选择一个版本,重新生成

此时去工程目录下查看就已添加了revit api那些dll

在coding 时,使用对应版本的条件编译符号进行区分每个版本对应不同的api 即可

Revit二次实现多版本动态引用RevitAPI.dll、RevitAPIUI.dll、AdWindows.dll、UIFramework.dll相关推荐

  1. revit二次开发——基于teigha读取CAD几何与文字(提供源码、引用包与异常解决)

    一.基于Teigha的开源dll,详细说明见以下博客: Revit二次开发--读取cad中的文字信息_niuge No.1的博客-CSDN博客 二.使用注意事项: 1.下载64位Teigha完整包: ...

  2. Revit二次开发——引用dynamo中的几何库

    前沿 dynamo的几何库其实是非常强大的,如果自己靠着RevitAPI去写还是非常费劲的.所以想引用dynamo的几何库来做一些工作.主要参考的就是这篇文章.Revit二次开发--不开启Dynamo ...

  3. 使用NSIS制作多版本Revit插件(Revit二次开发)

    因为VisualStudio中微软官方的程序打包工具,无法实现Revit多版本插件的制作,所以我选择了NSIS来制作多版本插件. 一.使用NSIS向导创建脚本 1.1.打开NSIS的VNISEdit( ...

  4. Revit二次开发之获取当前电脑所有Revit版本

    一.背景 小伙伴们在做Revit插件安装包时,是否需要获取当前电脑已经安装了哪些版本的Revit呢? 二.解决思路 主要有两种思路 通过注册表 通过revit提供的方式 这里推荐第2种方式,因为这种方 ...

  5. jsp 如何动态给图片赋值_在Excel表格中你知道如何动态引用图片吗?

    上期文章为朋友们分享了如何将照片快速批量导入导出到Excel表格中,那么如何根据文字匹配对应的图片你知道吗?这篇文章就和朋友们一起学习一下! 一.根据名称批量导入图片: 上期文章为朋友们分享的批量导入 ...

  6. Revit二次开发从入门到精通学习之路, (含Revit二次开发教程下载)

    Revit二次开发从入门到精通学习之路 Autodesk Joe Ye叶雄进 2. 18 2014    yexiongjin@hotmail.com Revit在国内的应用越来越广泛, Revit ...

  7. Revit二次开发前期准备

    Revit二次开发前期准备 程序是什么:输入-处理-输出 给工程人员带来什么:1.解决重复性的工作2.提供创造性的工作3.互联互通 如何学习编程:跟学,以解决问题为目的,不懂就过,查阅API C#重点 ...

  8. Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)

    Revit二次开发环境搭建(Revit 2019+Visual Studio 2017) 安装 Revit 2019 Visual Studio 2017 Revit SDK 2019 配置Addin ...

  9. Revit 二次开发之安装包的制作

    做了一段时间的Revit二次开发了,也做了好几个插件,最终都不得不面临一个问题,交付客户使用,那么问题来了,客户端那边如何部署呢,最简单的方法就是让客户找到Revit插件加载目录,将我们制作的插件dl ...

最新文章

  1. C++ primer第五版随笔--2015年1月6日
  2. 从现在到未来50年,传感器将如何改变世界?
  3. 虚幻4皮肤材质_虚幻周报20200721 | CJ就要开始啦~
  4. Ferguson游戏
  5. 算术编码原理与实现【转载】
  6. Lucene6.5.0 下中文分词IKAnalyzer编译和使用
  7. java replace第二个_java - 错误的第二个参数类型:从片段内调用.replace() - 堆栈内存溢出...
  8. socket.io 中文手册 socket.io 中文文档
  9. 蓝桥杯 2018年蓝桥杯C语言大学C组 C/C++
  10. 为什么手机网速太慢_手机明明是满格信号,为什么网速却非常慢?原来是这些功能在捣鬼...
  11. Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算
  12. 【Axure组件库】苹果官方SF Symbols 3图标库_每个图标均有2-8种风格
  13. 毕业设计——基于STM32的智能家具系统(语音识别控制、步进电机、舵机)
  14. 扩展卡尔曼滤波EKF进行锂电池SOC估计的C语言版本实现,和matlab版本一样包含定参和FFRLS两种情况
  15. Python核心编程的四大神兽:迭代器、生成器、闭包以及装饰器
  16. 2022-2028全球阻隔吹膜生产线行业调研及趋势分析报告
  17. LaTex(PART IV) 各级标题
  18. DirectX11与DirectX12在古墓丽影暗影中的表现
  19. Photoshop插件--证件照--1寸裁剪--1寸排版--脚本开发--PS插件
  20. PT 系列 00·小谈 pt-kill

热门文章

  1. Raspberry Pi(树莓派2代B型新手初体验)
  2. django入门操作3
  3. JavaScript:计时器,包含按钮效果设置
  4. 【机器人制作入门】 ① 自制机器人的架构
  5. 从互联网思维走向智联网思维
  6. 人工智能导论学习笔记02
  7. 矩阵分解 LDL^T分解
  8. 游戏开发常用字体(自制)
  9. 设计素材|这些创意海报合成,你会发现创意比技术更重要!
  10. 特色功能(锐捷云桌面篇)