c# - 错误 : typeInitializationException

标签 c# autocad objectarx

我找到了一段代码,可以使用 objectARX 命令在 autocad 中打开一个 dwg 文件。当我在类库项目中编写这段代码时,它可以成功运行,但是当我想将这段代码放在我的 Windows 应用程序中时,问题就发生了.它给了我这个错误信息:

The type initializer for '< Module >' threw an exception.

Inner Exception : The C++ module failed to load during process initialization.

我的代码是:

String MyDWGFilePath = @"\\Server\SharedFolder\Projects\File1.dwg";
DocumentCollection dm = Application.DocumentManager;
Document doc = null;
 
if(File.Exists(MyDWGFilePath))
{
   doc = dm.Open(MyDWGFilePath, false);
   Application.DocumentManager.MdiActiveDocument = doc;
}

注意:我从 autocad 安装文件夹添加了 acdbmgd.dll 和 acmgd.dll,还从 COM 引用添加了 AutoCAD 和 AXDBLib。

请帮帮我...

最佳答案

我的理解是 Autodesk 将他们的一些(但不是全部*)AutoCAD 库设置为无法在 AutoCAD 地址空间之外运行。您可能遇到了此许可限制。 (我正在抓取 Autodesk 的网站以获取支持这一点的引用)。

编辑:RealDWG如果您要在 AutoCAD 之外进行 .dwg 操作,Autodesk 希望您购买该产品。 (仍在寻找 AcDbMgd 仅在 acad 链接内部运行...)

(*) 我知道 AcGe 类/dll 组可以在 AutoCAD 之外使用 - 我曾经在某些单元测试中使用它们。我认为任何操作 .dwg 数据库的东西都必须在 AutoCAD 内部运行。

关于c# - 错误 : typeInitializationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8709818/

相关文章:

C# Bloomberg : How to loop through an array, 创建仪器对象,并添加到仪器类

c# - 最小起订量验证无效

c# - 设置 Visual Studio 2013 来开发 AutoCAD 2015 插件

c# - AutoCAD 插件开发示例

c# - 我们什么时候使用windows服务?

c# - 具有类似 WPF 的 GUI 创建的多平台编程语言?

java - 将 DGN 转换为 PDF

c# - 使用 C# 以编程方式将 AutoCAD 实体连接到 block 中

c# - 有没有更快的方法来调试 ObjectARX 应用程序?