OrleansContrib / OrleansDashboard

:bar_chart: A developer dashboard for Microsoft Orleans
MIT License
709 stars 162 forks source link

Not starting in Net Framework 4.7 (but fine in Net Core 2.1) #170

Closed codeprod closed 6 years ago

codeprod commented 6 years ago

Unable to get it working in 4.7 (but fine in Net Core 2.1), All other things being equal.

It looks an awesome dashboard by the way - kudos to the authors !

static void Main(string[] args)
        {
            var builder = new SiloHostBuilder()
                .Configure<ClusterOptions>(options =>
                {
                    options.ClusterId = Constants.ClusterId;
                    options.ServiceId = Constants.ServiceId;
                })
                .UseLocalhostClustering()
                .Configure<EndpointOptions>(options => options.AdvertisedIPAddress = IPAddress.Loopback)
                .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(Offer).Assembly).WithReferences())
                .ConfigureLogging(logging => logging.AddConsole())        
                .AddMemoryGrainStorage("PubSubStore")                
                .UseDashboard(options => { });

            var silo = builder.Build();
            silo.StartAsync().Wait();

            Console.WriteLine("Press Enter to close.");
            Console.ReadLine();

            // shut the silo down after we are done.
            silo.StopAsync().Wait();
        }

Apologies if missed something obvious. More than happy to run more tests

richorama commented 6 years ago

Hi @jimbobster, I just tried it and got it to work. I had to manually copy in the x86 libuv.dll file from the libuv nuget package.

richorama commented 6 years ago

ConsoleApp2.zip

source code of my working repro

codeprod commented 6 years ago

Thank you Richard - all working here now, many thanks. btw If you have free choice, i,e, new greenfield development and on Windows - would you choose to go Full Framework or Core at this moment in time for your Silo's (and Dashboard). btw I only switched to the Full Framework due to "Microsoft.Orleans.OrleansTelemetryConsumers.Counters" not liking Core (again apologies if I have missed something.) Again thank you for your time - James

richorama commented 6 years ago

@jimbobster I'm no expert, but I would probably choose to go .net core until I found a dependency that I needed that wasn't available (which by the sounds of it, is exactly the decision process you've made).