我目前正在尝试使用 c# 开发一些程序来帮助自动化 AutoCAD,但由于无法负担 Enterprise 或 Professional 的费用,我无法使用 Visual Studio,并且社区给我“不允许访问”错误我运行的任何程序。因此,我正在尝试使用 Visual Studio Code,但在获取正确的引用时遇到了问题。我尝试使用 Nuget 并安装所有 Autodesk/AutoCAD 搜索结果,但都没有用。根据 .NET AutoCAD 开发人员指南,我需要引用名为“AcMgd.dll”、“AcDbMgd.dll”和“AcCoreMgd.dll”的 .dll,但它们不会出现在 Nuget 搜索中。如何正确设置这些以便我可以开发 AutoCAD?是否可能,或者我是否需要找到一种使用 Visual Studio 的方法? 以下是我尝试使用的导入和相应的错误。
谢谢!
这些文件 AcMgd.dll、AcDbMgd.dll 和 AcCoreMgd.dll 将位于安装 AutoCAD 的目录中。通常必须通过浏览按钮而不是通过 Nuget 添加它们作为参考。
我刚注意到你说的是 VS Code。我不知道你是如何设置项目或如何添加引用的,但你必须专门引用这些文件。
您还应该确保当您添加这些作为参考时,“复制本地”设置为 false。
你必须在 .csproj 文件中设置它。
<Reference Include="AcMgd">
<HintPath>C:\Program Files\Autodesk\AutoCAD xxxx\acmgd.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AcDbMgd">
<HintPath>C:\Program Files\Autodesk\AutoCAD xxxx\AcDbMgd.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="AcCoreMgd">
<HintPath>C:\Program Files\Autodesk\AutoCAD xxxx\AcCoreMgd.dll</HintPath>
<Private>False</Private>
</Reference>
您可以在此处找到一般 .csproj 示例: https://github.com/cake-build/example/blob/master/src/Example/Example.csproj
你不需要任何应用程序或任何 Nuget 包的企业版或专业版来做你想做的事情。如果您已经正确安装了 AutoCAD 应用程序,则所有必需的 .dll 文件都已在您的系统上可用。我假设您拥有 AutoCAD 许可证。
下载和安装 AutoCAD 开发所需的文件
ObjectARX SDK
以获取您正在使用的正确版本的 autocad。创建一个新的 Visual Studio 项目
WPF Custom Control Library (.NET Framework)
创建一个新项目。设置 Visual Studio 项目以面向 AutoCAD
Solution Explorer
>选择项目文件>Right Click
>Properties
Browse
并从本地计算机中选择 AutoCAD 应用程序 acad.exe
。/nologo
C:/Autodesk/AutoCAD_ObjectARX_2019_Win_64_and_32_Bit/inc/
文件夹添加参考文件。Properties
窗口添加必要的 AutoCAD 参考/库
Solution Explorer
> Right Click
参考 > 添加参考 > 浏览到本地计算机上安装 AutoCAD 的文件夹并添加这些参考:AcCoreMgd.dll、AcDbMgd.dll 和 AcMgd.dllF5
) 代码时,您会注意到 AutoCAD 会自动在您的系统上打开。NETLOAD
将 .dll 文件加载到 autoCAD 中。Loader 锁异常
Debug menu > Windows > Exception Settings > Managed debugging assistants > Uncheck Loader lock
希望对您有所帮助!!一切顺利。