This is a standard Inventor add-in which enables developers to load and unload another add-in during development process without Inventor restart. It is an alternative to Hot-Reload and unit-tests. It doesn't require special projects and debug settings.
- Inventor 2022
- Inventor 2023
- Inventor 2024
- Inventor 2025
- Installation
- How to use
- Settings
- Sample projects
- Add-in project settings
- Build notes
- Contribution
- Sources
Latest installer can be downloaded from Releases
Before first load you need to un-block this addin in Inventor AddIn Manager
This tool can emulate loading and unloading of the addin. Commands are available in ribbon from:
- ZeroDoc->Tools
- Part->AddIns
- Assembly->AddIns
- Drawing->AddIns
Activate - If the add-in is not activated before, looks for the latest build. Prepare them and call Activate method
on it. If the add-in is in active state, this command is ommited.
Deactivate - If the add-in was activated before call Deactivate method
on it. If the add-in is not in active state, this command is ommited.
Restart - This command calls sequence Deactivate, look for new build, Activate
Open build folder - Opens the folder with the last loaded build of the add-in.
Attach debugger - Attaches the debugger to current Inventor process. After attach you need to press F5 to continue,
because it breaks the execution on the line in this command.
Settings - Start the settings process.
Load from - Allows you to read information from AddIn build or from .addin file and fill the fields below.
-
*.addin - Navigate to .addin file related to the addin build. Builds are searched according to value in
<Assembly>node in .addin file. If the relative path in<Assembly>node does't point to existing file, all potential files are listed and you must select which one you want to use. Type FullName field is not filled in this case. -
NET 48, NET8 - NOT AVAILABLE SINCE 2.0 BUILD Navigate to the add-in build file. If the DLL file contains at least one add-in implementation, the values are automatically extracted from this file. You can choose from two loaders for specific runtimes.
Assembly File - Contains full file name of the original build of the project.
AddIn ClientId - Contains GUID of the class which implements Inventor.ApplicationAddInServer interface.
Can be obtained from code or .addin file
[GuidAttribute("905d9707-d4cd-43dd-b6ed-9fd34c48893f")]
public class StandardAddInServer : Inventor.ApplicationAddInServer
{
...
}Type FullName - Contains full name of the type which implements Inventor.ApplicationAddInServer interface.
This value is read-only and is only for information.
Load on start - Loads the addin immediately during Inventor start. Add-in must be configured before.
Sample Inventor add-ins for features testing are available in this repository Development/src/SampleAddIn.
There are two sample addins. One for Invnetor 2022 and above and one for Invnetor 2025.
Both of them only displays message box with version of addin and its module. You can test the functionality of reloading addin on them.
If you want to use this tool, you need to create VS project for Inventor AddIn and set the following properties.
All mentioned project modifications belongs to the first
PropertyGroupin project file
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<ProjectType>Local</ProjectType>
...
<!-- Mentioned nodes HERE -->
</PropertyGroup>
...If you use default Inventor AddIn template you must disable loading of the add-in to Inventor.
Inventor add-in template contains script in post-build events which copy the addin files to remote location
where the Inventor can found and load the add-in ("%AppData%\Autodesk\ApplicationPlugins\$(TargetName)\"). You must disable this first.
Delete or comment out this lines (Sample from default template for Inventor 2024)
XCopy "$(TargetPath)" "%AppData%\Autodesk\ApplicationPlugins\$(TargetName)\" /Y /R
XCopy "$(ProjectDir)Autodesk.InventorAddIn1.Inventor.addin" "%AppData%\Autodesk\ApplicationPlugins\$(TargetName)\" /Y /R If you use another method for loading, disable them too. The easiest way is to delete or change extension of the *.addin file.
NOTE: Disable the addin in AddIn Manager is sufficient, but it can cause an issue because the addin can be loaded for some reason.
In Project settings set assembly version to auto increment.

You can set the same in AssemblyInfo.cs file
[assembly: AssemblyVersion("1.0.*")]If you found in AssemblyInfo.cs file following line, remove it.
// Remove this line
[assembly: AssemblyFileVersion("1.0")]In some cases in new projects you can't be able to set previous automatic versioning. You can obtain error message like this
Error (active) CS8357
The specified version string '1.0.*' contains wildcards, which are not compatible with determinism. Either remove wildcards from the version string, or disable determinism for this compilation
Uncheck the option in project settings Build -> Advanced -> Deterministic
Or you can to enable non-deterministic build in .csproj file.
Unload the project or open project file in another editor and look for the following node. Set the value to false.
If the node is not found, create them.
<Deterministic>false</Deterministic>In .NET8 projects AssemblyInfo.cs can be auto-generated. In this case you can't edit them.
Uncheck the option in project settings Build -> General -> Generate Assembly Info
Or you can disable this feature in project file using this node
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>By default the build path of the project looks like bin\Debug\net8.0-windows\.... If you want to change them to bin\Debug\... add the following node to project file
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>When you make changes in this project, you need to Publish the project.
This process builds the result to single .exe file.
For loading and building this project you need to install WiX Toolset.
Feel free to make suggestions for improvement. And pull requests are welcome.
Icons source: https://www.iconfinder.com/iconsets/font-awesome-solid




