Rhino 8, Hops 0.16.4, Compute and .NetFramework

Hello @AndyPayne
running the latest Hops configuration, it seems the whole thing fails when Rhino is running with .NetFramework, is this solvable anytime soon? since I’m trying to use Hops with Rhino.Inside Revit.

[11:42:16 INF] Rhino compute started at 11/27/2023 11:42:16 AM
[11:42:16 INF] Initiliazing reverse proxy at 11/27/2023 11:42:16 AM
[11:42:16 INF] Spawn children at startup is set to False
[11:42:16 INF] Now listening on: http://localhost:5000
[11:42:16 INF] Application started. Press Ctrl+C to shut down.
[11:42:16 INF] Hosting environment: Production
[11:42:16 INF] Content root path: C:\Users\tayO\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Hops\0.16.4\rhino.compute
CG  [11:42:52 INF] Child process started at 11/27/2023 11:42:52 AM
CG  [11:42:52 INF] Parsed port = 6001
CG  [11:42:56 INF] (1/2) Loading grasshopper
CG  [11:42:57 INF] (2/2) Loading compute plug-ins
CG  [11:42:58 INF] Now listening on: http://localhost:6001
CG  [11:42:58 INF] Application started. Press Ctrl+C to shut down.
CG  [11:42:58 INF] Hosting environment: Production
CG  [11:42:58 INF] Content root path: C:\Users\tayO\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Hops\0.16.4\rhino.compute
CG  [11:43:02 INF] Child process started at 11/27/2023 11:43:02 AM
CG  [11:43:02 INF] Parsed port = 6002
CG  [11:43:05 INF] (1/2) Loading grasshopper
CG  [11:43:06 INF] (2/2) Loading compute plug-ins
CG  [11:43:06 INF] Child process started at 11/27/2023 11:43:06 AM
CG  [11:43:06 INF] Parsed port = 6003
CG  [11:43:06 INF] Now listening on: http://localhost:6002
CG  [11:43:06 INF] Application started. Press Ctrl+C to shut down.
CG  [11:43:06 INF] Hosting environment: Production
CG  [11:43:06 INF] Content root path: C:\Users\tayO\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Hops\0.16.4\rhino.compute
CG  [11:43:09 INF] (1/2) Loading grasshopper
CG  [11:43:10 INF] (2/2) Loading compute plug-ins
CG  [11:43:10 INF] Child process started at 11/27/2023 11:43:10 AM
CG  [11:43:10 INF] Parsed port = 6004
CG  [11:43:11 INF] Now listening on: http://localhost:6003
CG  [11:43:11 INF] Application started. Press Ctrl+C to shut down.
CG  [11:43:11 INF] Hosting environment: Production
CG  [11:43:11 INF] Content root path: C:\Users\tayO\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Hops\0.16.4\rhino.compute
CG  [11:43:11 ERR] Connection id "0HMVFG47E2818", Request id "0HMVFG47E2818:00000001": An unhandled exception was thrown by the application.
System.IO.FileNotFoundException: Could not load file or assembly 'GH_IO, Version=8.0.23304.9001, Culture=neutral, PublicKeyToken=6a29997d2e6b4f97'. The system cannot find the file specified.
File name: 'GH_IO, Version=8.0.23304.9001, Culture=neutral, PublicKeyToken=6a29997d2e6b4f97'
   at compute.geometry.GrasshopperDefinition.FromUrl(String url, Boolean cache)
   at compute.geometry.ResthopperEndpointsModule.GetIoNamesHelper(HttpContext ctx, Boolean asPost) in D:\BuildAgent\work\4852f584398a78e4\src\compute.geometry\ResthopperEndpoints.cs:line 205
   at compute.geometry.ResthopperEndpointsModule.PostIoNames(HttpContext ctx) in D:\BuildAgent\work\4852f584398a78e4\src\compute.geometry\ResthopperEndpoints.cs:line 191
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
[11:43:11 ERR] HTTP POST /io responded 500 in 23400.1882 ms
CG  [11:43:13 INF] (1/2) Loading grasshopper
CG  [11:43:14 INF] (2/2) Loading compute plug-ins
CG  [11:43:15 INF] Now listening on: http://localhost:6004
CG  [11:43:15 INF] Application started. Press Ctrl+C to shut down.
CG  [11:43:15 INF] Hosting environment: Production
CG  [11:43:15 INF] Content root path: C:\Users\tayO\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Hops\0.16.4\rhino.compute
[11:43:16 INF] Max concurrent requests = 1
[11:44:16 INF] Max concurrent requests = 0
[11:45:16 INF] Max concurrent requests = 0

I have created a YT issue to look into this.

Thank you Andy!

@tay.othman did you explicitly set the .NET runtime to be 4.8? If so, why?

Hello @stevebaer
I set my Runtime to be 4.8 because I’m running it inside. Revit! and Revit is still behind!

That should automatically “just work”. What happens if you SetDotNetFramework to “Default” and try Rhino.Inside Revit?

2 Likes

I keep getting surprised, It works inside revit!
thank you @stevebaer

and does Hops now work under this condition?

yes, it works I was able to test it on a simple sphere gh referenced in a hops components inside Revit’s environment.
also the same Hops file works fine under “Default” runtime.

2 Likes