为方便动态加载调试,避免每次加载选文件夹这一繁琐步骤,直接cad创建快捷命令图标加载指定路径dll文件名。这时候我们不同项目编译的dll可在编译后自动复制到指定路径并重命名,方法如下:
<Target Name="CopyToMyDir" AfterTargets="Build">
<Copy SourceFiles="$(TargetPath)"
DestinationFiles="G:\Csharp\Ifox\IfoxDemo\IfoxDemo\bin\Debug\net48\IfoxDemo.dll" />
<Message Importance="High" Text="已将 $(TargetFileName) 复制到 G:\Csharp\Ifox\IfoxDemo\IfoxDemo\bin\Debug\net48\IfoxDemo.dll" />
</Target>
</Project>
或者指定目录
cs
<Target Name="CopyToMyDir" AfterTargets="Build">
<!-- 定义目标文件夹和文件路径 -->
<PropertyGroup>
<DestFolder>C:\Users\Administrator\AppData\</DestFolder>
<DestFile>$(DestFolder)net35.dll</DestFile>
</PropertyGroup>
<!-- 如果目标文件夹不存在,则创建它 -->
<MakeDir Directories="$(DestFolder)" Condition="!Exists('$(DestFolder)')" />
<!-- 复制文件 -->
<Copy SourceFiles="$(TargetPath)" DestinationFiles="$(DestFile)" />
<!-- 输出提示信息 -->
<Message Importance="High" Text="已将 $(TargetFileName) 复制到 $(DestFile)" />
</Target>

这样不同项目生成的dll文件可复制到指定目录。
===========net35方案=============
cs
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net35</TargetFramework>
<!-- 删除 UseWPF 和 UseWindowsForms 属性,它们在 net35 下无效 -->
<AssemblyVersion>1.0.*</AssemblyVersion>
<FileVersion>1.0.0.0</FileVersion>
<Deterministic>False</Deterministic>
<LangVersion>preview</LangVersion>
<AssemblyName>loada</AssemblyName>
</PropertyGroup>
<!-- 如果需要 Windows Forms 或 WPF,手动添加引用 -->
<ItemGroup Condition="'$(TargetFramework)' == 'net35'">
<!-- Windows Forms -->
<Reference Include="System.Windows.Forms" />
<!-- WPF 核心程序集 -->
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="WindowsBase" />
</ItemGroup>
<!-- AutoCAD API 引用 -->
<ItemGroup>
<Reference Include="acdbmgd">
<HintPath>net35\acdbmgd.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="acmgd">
<HintPath>net35\acmgd.dll</HintPath>
<Private>False</Private>
</Reference>
</ItemGroup>
<!-- 系统引用(保持 Private=False) -->
<ItemGroup>
<Reference Update="System">
<Private>false</Private>
</Reference>
<Reference Update="System.Core">
<Private>false</Private>
</Reference>
<Reference Update="System.Data">
<Private>false</Private>
</Reference>
<Reference Update="System.Drawing">
<Private>false</Private>
</Reference>
<!-- 其他系统引用... -->
</ItemGroup>
<Target Name="CopyToMyDir" AfterTargets="Build">
<!-- 定义目标文件夹和文件路径 -->
<PropertyGroup>
<DestFolder>C:\Users\Administrator\AppData\</DestFolder>
<DestFile>$(DestFolder)IfoxDemo.dll</DestFile>
</PropertyGroup>
<!-- 如果目标文件夹不存在,则创建它 -->
<MakeDir Directories="$(DestFolder)" Condition="!Exists('$(DestFolder)')" />
<!-- 复制文件 -->
<Copy SourceFiles="$(TargetPath)" DestinationFiles="$(DestFile)" />
<!-- 输出提示信息 -->
<Message Importance="High" Text="已将 $(TargetFileName) 复制到 $(DestFile)" />
</Target>
</Project>