Revit开发中升级支持的程序版本造成的不识别引用的问题
一个Revit开发项目工程文件,之前是为Revit2014开发的,最近要升级到支持Revit2016,我把旧的工程执行了一下操作:
- 备份后,我把旧版工程引用的2014的RevitAPI.dll和RevitAPIUI.dll删掉,换成了2016的对应dll
- 把旧版工程的.net Framework版本改成了4.0 (这一步就错了)
- 修改一些改版的api变更问题(这个不在今天的说明内)
编译。。。然后一堆的错误,主要是不识别命名空间,比如说提示你Autodesk
下没有找到Revit
命名空间。但是当你点击错误列表其中一个错误信息跳转到代码后,这个错误就会消失。代码编辑器窗口里的红色错误下划线也会消失掉。说明vs已经读取到了dll中的类和命名空间,跳转到对应的定义也可以使用。。但就是编译后就仍然报错。。。一样的找不到命名空间。头大。。。
为了确定问题,重新建立了一个新的类库项目,引入2016的dll,设置.net framework 版本4.0,然后编译。。。。这次vs提示说我引入的dll是基于.net framework 4.5生成的,当前项目的framework版本过低。。。好吧,原来是这么回事。但为啥在旧工程里直接改的你就不这么提示呢!我整整一天的时间啊!
修改旧版framework版本到4.5,编译…一切正常了…我真二!