I am having issue with rhino inside. Most tools seem to work, like grasshopper but when I try to open Rhino from Revit I get a error with no message in it and Revit 2020 crashes right after I close the dialog.
I updated Revit to make sure, Rhino7 was freshly installed just like revit.insite.
I just tried the suggested fix on this post but I’m still having the same issue. Rhino.Inside cannot load
More often than not issues like this are due to conflict between addons. Would you mind following the instructions here and disable all Revit addons and see if the issue goes away?! If yes, then being back each addon one by one to see which one is causing the conflict.
We recently released a version that tries to address this problem.
In the caption of your error box I see you are still running v0.0.7662.10131.
Because previous installers had some problems we are requiring the user to uninstall Rhino.Inside Revit before installing this new one.
To be sure the uninstaller worked as expected, after uninstalling please double check you don’t have any file at %APPDATA%/Autodesk/Revit/Addins/20XX/RhinoInside.Revit.addin where 20XX is the Revit version where the addin was installed.
Thanks for the reply, I’ve tried before all what you wrote about and it didn’t work.
The only solution was to take the source code from GitHub then I recompile it using visual studio 2019 & .Net frameworks 4.7.2 and it worked.
It Seem, it’s an issue of .NET versioning related to Revit 2020 updates & hotfixes releases.
I know, with Revit hotfixes & .NET changing updates it’s a hard work for developers to keep safe following up.
I use Revit 2020 with the latest Hotfix update (2020.2.3).
To fix the problem, maybe, it should be mentioned into the source code, some additional conditional compiling related to Revit hotfixes & the .Net releases. I know it’s a Hard work for programmers.
I only want to point about the solution I found out about it recently to fix this issue.
What do you mean by you compiled with .NET Framework 4.7.2?
Did you change anything in the VisualStudio project before compiling?
Could you please click Yes on the previous error message and attach the ZIP file will be generated on your desktop? this way we will be able to see here what version of .NET is you Revit using.
Yes, inside the VS2019 I used for the Solution configuration the (Release 2020) for compiling.
As for the Project configuration properties, I used into Target framework: the (.NET frameworks 4.7.2)
Since Revit is running the addin in a 4.8 environment I don’t see how changing the target version on the project do make the difference in this case.
One thing that comes to my mind is that the RhinoInside.Revit solution copies results to %APPDATA%\Autodesk\Revit\Addins\20XX\RhinoInside.Revit maybe you built and the files you had there were overwiten by Visual Studio with a new version.
Keep in mind that Revit loads Addins first from %APPDATA%\Autodesk\Revit\Addins\20XX\RhinoInside.Revit and then from %ProgramData%\Autodesk\Revit\Addins\20XX\RhinoInside.Revit. Previous installer installed at APPDATA while the new one installs at ProgramData.
To confirm my guess is wrong could you please compile the solution again but without any change on the project and tell me if this also works?
Thanks again for the info, It seems you are right.
After compiling the source code using (.NET 4.7.2) I’ve put the DLLs into %APPDATA% and it worked. Though I always try to uninstall first the Rhino-inside before installing the new version but maybe the uninstaller left over some residues into the registry and kept referring the %APPDATA% and made this conflict with the new location.
The source code from GitHub has no (Post events) so I moved manually the DLLs compiled file to %APPDATA%. Also the source code came with a preconfigured solution using (.NET 4.6.1) but unfortunately it’s rising so many errors when compiling it. So I moved to (.NET 4.7.2 and with .NET 4.8 it worked too)
Following to Autodesk recommendation https://up.autodesk.com/2020/RVT/Autodesk_Revit_2020_Readme.html
Revit 2020 is using .NET 4.7, I think with the hotfixes (2020.2.3) they upgrade it to 4.7.2
Anyway, I tried also to move the DLLs files came from the Rhino-inside installer at %ProgramData% to %APPDATA% and they worked properly. So the new installed DLLs came with the new Rhino-Inside version are without problems on my system.
I think The issue is from the conflict existing between %APPDATA% & %ProgramData% though logically, same files shouldn’t load twice following to the rules of loading priority in Revit.
As the installing location of the Rhino-inside is moved to %ProgramData%. Maybe as a suggestion, I think it’s better to integrate into the installer itself a function for checking about previously old version installed files, if they are existing into the old location, so then to uninstall them first, update the registry, and finally install the new version.
The problem is that the current installer runs in the admin account not in the user account so to do it right the installer should go through all the user accounts on the computer removing those files.
This will also make this installer incompatible with a possible future installer that installs per user again.
The problem was an old installer that did not correctly remove the files on the user account. I hope it doesn’t happen again.
I have copied the source code from GitHub yesterday on 18th January, I have checked the CSPROJ files as you mentioned and they are the same.
I wonder about the visual studio 2019 I use for the compilation. First I used for compiling the configuration (Release 2020) then I tried (Debug 2020) as it’s mentioned that the (Copy condition) is dedicated only when debugging mode. But unfortunately in both cases the VS2019 I have is not showing these configurations into the properties & it’s only keeping on the (.net 4.6) & not doing (copy condition) after compiling & here some screenshots.
Anyway it may be a bug in the VS I use I’ll try to find out later on, why this is happening and not automatically changing the settings when switching the preconfigured modes. Maybe you use another platform for compilation and you don’t have such error.
Conditional compilation symbols are defined in a way that we don’t need to do something like this to have some code that works from a certain version of Revit and above.
#if REVIT_2018 || REVIT_2019 || REVIT_2020
// Do something specific for Revit 2018 or above here...
#endif
The problem with that approach is that when you want to introduce REVIT_2021 you need to review all the source code looking for those places that you have conditinal compilation and adding || REVIT_2021.
In our case is just like this and don’t need to be modified when we introduce new Revit versions.
#if REVIT_2018
// Do something specific for Revit 2018 or above here...
#endif
.NET Framework
I use to edit the .csproj manually except to add new files to the solution.
This allows me to use things on MSBUILD that are not exposed throught the VisualStudio UI.
The project, references different .NET Framework versions per Configuration, this is not possible using the UI, but is perfectly valid for MSBUILD that at the end is who compiles the project.
I guess in your case you don’t have .NET framework 4.7 installed.
You can check it here as well as install other frameworks.
About the <Copy /> is done using a MSBUILD builtin task, see documentation here. Is more robust than running a console script after build and allows you to add conditions, like here, to do it only on ‘Debug’.
Thank you so much about all of these details. I understand them all very well & I had some experiences with all such.
I already read before the RI code when I was doing some automating plug-ins for Grasshopper using RI & Revit, I had many ideas to ameliorate some details at that time & I understood the architectural pattern and the reversal logic used through the conditional compilation.
The fact is that even though, it seems my VS2019 is behaving strangely & not copying after compilation even by using built-in tasks, maybe it’s something connected to the OS permission so I have to check about it later on. As about (.net), I already have all the versions installed including 4.7.
Good finally, we knew from where the errors were rising and it’s connected to the path were the RI is installed and to the Revit that is loading twice the same DLLs of 2 different versions.
Again thanks for all these nice professional discussions. I would like always to participate in such constructive discourses here, and as an architect, mathematician & programmer I would like if availability to participate and to contribute, with my moderated knowledge, for the amelioration of this great project (Rhino-Inside). it’s a really an amazing smart project which I encourage it always and wishing to all its teams the success and the prosperity.