几个月来,我一直使用C#在VS2017社区集成开发环境中开发SAP2000(结构分析软件)后处理程序。然而,当有一天我发现我的代码不再能够与SAP2000实例连接时,事情发生了错误,尽管我没有改变任何东西。
从SAP2000官方文档中,用户可以通过以下代码片段获取SAP2000实例引用:
cOAPI mySapObject = (cOAPI)System.Runtime.InteropServices.Marshal.GetActiveObject("CSI.SAP2000.API.SapObject");
这也是我连接SAP2000的方式。但是由于某些原因,我的程序抛出了Invalid class string (Exception from HRESULT: 0x800401F3 (CO_E_CLASSSTRING))异常。似乎他们现在不能检测到SAP2000运行的对象。
我很困惑,因为我的程序仍然可以在其他计算机上很好地运行,不安装Visual Studio或只安装VS2013。但对于其他具有VS2017的计算机,同样的错误也会发生。我猜在更新最近的包时,一些设置已经被覆盖了。
我发现this link和this谈到了一些提升特权的事实,这可能与我的问题有关。但是,即使我以管理员身份启动了SAP2000和VS2017,错误仍然发生。
发布于 2018-01-09 09:26:35
解决了,我重新安装了我的SAP2000。
https://stackoverflow.com/questions/48145902
复制相似问题