我正在尝试将Visio 2007与C#(VS 2012和Windows 7 OS)集成,但是在运行代码时遇到错误
无法将类型为“ Microsoft.Office.Interop.Visio.ApplicationClass”的COM对象转换为接口类型为“ Microsoft.Office.Interop.Visio.IVApplication”。该操作失败,因为对IID为“ {000D0700-0000-0000-C000-000000000046}”的接口的COM组件上的QueryInterface调用由于以下错误而失败:库未注册。 (来自HRESULT的异常:0x8002801D(TYPE_E_LIBNOTapped))。
程式码片段:
使用IVisio = Microsoft.Office.Interop.Visio;
内部方法
var app = new IVisio.ApplicationClass();
var docs = app.Documents; (Error coming at this point)
var doc = docs.Add("");
var page = app.ActivePage;
var shape0 = page.DrawRectangle(1, 2, 6, 3);
shape0.Text = "Hello World";
我的计算机上装有随Visio 2007一起安装的Microsoft Office 2010。
参考库:Microsoft.Office.Interop.Visio(尝试使用Microsoft Visio 12类型库版本4.12.0.0(visio 2007)和版本14.0.0.0(visio 2010),但出现相同的错误。)
最佳答案
我删除了Office 2010和visio 2007,重新启动了计算机,然后再次安装了Office 2010和visio 2007软件。
除此以外,我一直在寻找其他解决方案。
关于c# - 将vs 2012 C#与visio 2007集成时出现Com错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18332659/