AFAIK, c-ares should work on linux using the env flag, but for windows it still needs the PR you mentioned to get merged. Your best option would be to add a custom resolver in C++ which is then also available in C#. I run into the same problem and tried to solve it on a similar level, by adding a resolver for GRPCLB without the DNS layer. I also thought about doing it with Consul and adding a resolver, but found it easier to just implement the GRPCLB interface in C# since I then can have everything in one executable. Since the C# implementation is relying on the C core resolvers, I can now just use "grpclb://<ip_of_grpclb>:<port_of_grpclb>/<endpointname>".
I have made that public in this PR:
https://github.com/grpc/grpc/pull/13639I don't yet know if the team even likes to add that, but since c-ares is still lacking under windows and since there is no resolver support in C# directly, this seemed like the best option right now, since you can make a very low-level implementation of GRPCLB, just using it like a DNS server and later improve it or replace it with real load balancing strategies.