C# 使用Visual Studio代码的AutoCad.net项目

C# 使用Visual Studio代码的AutoCad.net项目,c#,vb.net,visual-studio-code,autocad,autocad-scripts,C#,Vb.net,Visual Studio Code,Autocad,Autocad Scripts,我试图弄清楚是否可以使用VS代码设置和调试vb.net/C.net AutoCAD项目?对不起,如果这是一个愚蠢的问题,但我在这方面没有丰富的经验。到目前为止,我已经能够遵循教程,使用VS社区设置和开发项目,但找不到任何关于如何使用VS代码的指导。提前感谢让它与vscode和Acad2021一起工作。该示例适用于以下设置: 为了使用完整的.net框架进行调试,我遵循了以下步骤 使用:dotnet new classlib创建新项目 将csproj文件更改为注意:对于不同的autocad版本,需要

我试图弄清楚是否可以使用VS代码设置和调试vb.net/C.net AutoCAD项目?对不起,如果这是一个愚蠢的问题,但我在这方面没有丰富的经验。到目前为止,我已经能够遵循教程,使用VS社区设置和开发项目,但找不到任何关于如何使用VS代码的指导。提前感谢

让它与vscode和Acad2021一起工作。该示例适用于以下设置:

为了使用完整的.net框架进行调试,我遵循了以下步骤

使用:dotnet new classlib创建新项目

将csproj文件更改为注意:对于不同的autocad版本,需要不同版本的nuget软件包:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
    <PropertyGroup>
        <TargetFramework>net48</TargetFramework>
        <RootNamespace>ProjectName</RootNamespace>
        <PlatformTarget>x64</PlatformTarget>
        <DebugType>portable</DebugType>
        <UseWindowsForms>true</UseWindowsForms>
    </PropertyGroup>
    <ItemGroup>
        <PackageReference Include="AutoCAD.NET" Version="24.0.0"></PackageReference>
        <PackageReference Include="AutoCADCommands" Version="2020.0.0"></PackageReference>
    </ItemGroup>
</Project>
将Class1.cs文件更改为:

using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

namespace AU.KO_WT_TestPlugin
{
    public class Initialization : IExtensionApplication
    {
        [Autodesk.AutoCAD.Runtime.CommandMethod("MyFirstCommand")]
        public void cmdMyFirst()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("\nI have created my first command.");
        }
        void IExtensionApplication.Initialize()
        {
        }

        void IExtensionApplication.Terminate()
        {
        }
    }
}
运行命令:dotnetbuild

打开autocad

在autocad中,运行netload命令,并在PathToProject/bin/debug/net48/ProjectName.dll下加载新生成的dll

返回vscode,按F5开始调试

选择acad.exe进程

在c代码中设置断点

在autocad中,调用命令MyFirstCommand

调试

注:

由于在更改代码并使用dotnet build重新编译.net程序集后,无法在autocad中卸载.net程序集,因此需要重新启动autocad并对新程序集进行netload 应该可以创建通过脚本启动autocad并网络加载部件的任务。我还没有时间去探索这种可能性
VisualStudio代码不是VisualStudio,它完全不同。不能使用为其中一个编写的教程来学习如何使用另一个。有很多关于VisualStudio代码的教程。如果你在谷歌上搜索visual studio代码调试,第一个结果应该是:你是说你想创建一个测试台吗?你做了什么,有什么问题?我知道,也许我错了,这应该是可能的。@PanagiotisKanavos,谢谢你的回答。我可以看出这两个软件完全不同,因此我无法使用其中一个的教程来处理另一个。这就是我在这里提出问题的原因。不幸的是,根据我目前的知识,我找不到太多有用的信息来做这个练习。@jdweng谢谢你的回答,我认为我不够清楚。我希望能够构建/编译项目,以获取可以加载到Autocad的.dll文件,并使用代码中定义的函数
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;

namespace AU.KO_WT_TestPlugin
{
    public class Initialization : IExtensionApplication
    {
        [Autodesk.AutoCAD.Runtime.CommandMethod("MyFirstCommand")]
        public void cmdMyFirst()
        {
            Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
            ed.WriteMessage("\nI have created my first command.");
        }
        void IExtensionApplication.Initialize()
        {
        }

        void IExtensionApplication.Terminate()
        {
        }
    }
}