Ошибка: 80040154 класс не зарегистрирован
Я пытаюсь работать над 32-разрядной версией Microsoft Visio 2010 в Microsoft Visual Studio 2013, добавляя ссылку на взаимодействие visio.
Но я получаю следующую ошибку исключения COM:
Retriving the COM class factory for component with CLSID {000D0A00-0000-0000-C000-000000000046} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Что я уже пробовал:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Visio = Microsoft.Office.Interop.Visio; namespace CreateVisioDrawing { public class Program { public static void Main(string[] args) { //System.Diagnostics.Debugger.Launch(); CreateDrawing objCreateDrawing = new CreateDrawing(); objCreateDrawing.CreteNewDrawing(); } } public class CreateDrawing { public void CreteNewDrawing() { try { Visio.Documents visioDocs = new Visio.Documents(); string drawingPath = @"E:\Local Data\NEW DATA_20170510\VisioDrawings\NewDrawing.vsd"; visioDocs.Add(drawingPath); Visio.Document visioStencil = visioDocs.OpenEx("Basic Shapes.vss", (short)Microsoft.Office.Interop.Visio.VisOpenSaveArgs.visOpenDocked); Visio.Page visioPage = new Visio.Page(); Visio.Master visioRectMaster = visioStencil.Masters.get_ItemU(@"Rectangle"); Visio.Shape visioRectShape = visioPage.Drop(visioRectMaster, 4.25, 5.5); visioRectShape.Text = @"Rectangle text."; Visio.Master visioStarMaster = visioStencil.Masters.get_ItemU(@"Star 7"); Visio.Shape visioStarShape = visioPage.Drop(visioStarMaster, 2.0, 5.5); visioStarShape.Text = @"Star text."; Visio.Master visioHexagonMaster = visioStencil.Masters.get_ItemU(@"Hexagon"); Visio.Shape visioHexagonShape = visioPage.Drop(visioHexagonMaster, 7.0, 5.5); visioHexagonShape.Text = @"Hexagon text."; } catch (Exception ex) { Console.WriteLine(ex.Message); Console.Read(); } } } }
Richard MacCutchan
Сообщение совершенно ясно: требуемая COM-библиотека не зарегистрирована в вашей системе.