Skip to content

Instantly share code, notes, and snippets.

@ricaun
Last active May 8, 2025 00:24
Show Gist options
  • Save ricaun/848306a644b259f8058a333a57e4ec67 to your computer and use it in GitHub Desktop.
Save ricaun/848306a644b259f8058a333a57e4ec67 to your computer and use it in GitHub Desktop.
Copy AddinFiles Target for Autodesk Inventor
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<CopyAddinFiles>true</CopyAddinFiles>
</PropertyGroup>
<PropertyGroup>
<AddinDestinationFolder>$(AppData)\Autodesk\Inventor $(InventorVersion)\Addins\</AddinDestinationFolder>
</PropertyGroup>
<Target Name="_CopyAddinFiles" AfterTargets="Build" Condition="$(CopyAddinFiles) and $(TargetFramework) != ''">
<ItemGroup>
<AddinFile Include="$(ProjectDir)*.addin" />
<AddinItems Include="$(OutputPath)**\*" />
</ItemGroup>
<Copy SourceFiles="@(AddinItems)" SkipUnchangedFiles="false" DestinationFolder="$(AddinDestinationFolder)\$(MSBuildProjectName)\%(RecursiveDir)" ContinueOnError="true" Retries="1" />
<Copy SourceFiles="@(AddinFile)" SkipUnchangedFiles="false" DestinationFolder="$(AddinDestinationFolder)" ContinueOnError="true" />
<Message Text="$(MSBuildProjectName) -&gt; $(AddinDestinationFolder) -&gt; [@(AddinItems -> '%(Filename)%(Extension)', ', ')] ($(TargetFramework)) " Importance="high" />
</Target>
<Target Name="_CleanAddinFiles" AfterTargets="Clean" Condition="$(CopyAddinFiles) and $(TargetFramework) != ''">
<RemoveDir Directories="$(AddinDestinationFolder)\$(MSBuildProjectName)\" ContinueOnError="true" />
<Delete Files="$(AddinDestinationFolder)\$(MSBuildProjectName).addin" ContinueOnError="true" />
</Target>
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment