chuongmep / RevitAddInManager

Revit AddinManager update .NET assemblies without restart Revit for developer.
MIT License
274 stars 50 forks source link

IExternalApplication's are not being manager by AddInManager #52

Open shivajreddy opened 3 months ago

shivajreddy commented 3 months ago

Describe the bug IExternalCommands are detected when the compiled dll file is selected, and commands execute as expected.

IExternalApplications are detected when the compiled dll file is selected, 'Run' option is obviosly disabled (looks like it only petrains to IExternalCommands, so reving this when the user is in the 'Load App' tab is clearer, also in the docs it is mentioned that there is a 'Notes' section that shows the path of the highligted .dll file, but there is no 'Notes' seciton.)

The main issue is that when the IExternalApplication is loaded by choosing the latest compiled dll file, and Revit is restarted ,the IExternalApplication is not running, i.e., the OnStartup and OnShutdown never gets executed as a result, the Ribon Item, Panel, and buttons on the panel are not shown.

I have cleared all previous .addin files that I copied into the addins folder, (both Roaming and ProgramData folders). I reinstalled RevitAddInManager and tried again. I restarted windows and tried again.

But the only way it was working is when I create a manifest (.addin) file and copy that to the plugin folder, and the path value in the manifest file points to the latest dll file, but the issue now is that I cant Build Solution since Revit process has locked the 'dll' file, just like its explained in the read me file.

TLDR; I am trying use RevitAddInManager to manage my IExternalApplciation that was compiled in the dll file, but RAIM detects the IExternalApplication's and won't load these applications on the next Revit restart.

To Reproduce Steps to reproduce the behavior:

  1. Go to Load App
  2. Select the 'dll' file that has IExternalApplication
  3. Close RevitAddInManager, Restart Revit
  4. The chosed IExternalApplication wont load. But when a manifest file is created that points to the same dll file, on the next Revit restart, the IExternalAPplication works as expected.
chuongmep commented 3 months ago

Hi @shivajreddy , thank you for your reported. Did you tried with oder version of Revit ?

shivajreddy commented 3 months ago

I tried with Revit2022 also, still the IExternalApplication is working with AddInManger