|
50% of the time, this is a nice feature.
The other 50%, I hate it as I have to clean up the BS it adds. Like
using static System.Runtime.InteropServices.JavaScript.JSType;
using System.Runtime.Intrinsics.X86;
using System.Security.Policy;
using Twilio.TwiML.Voice; Seriously? Where does it think I need those??? And yes, I know I can turn this off, somewhere, but the 50% when I like it, I want it.
|
|
|
|
|
It shouldn't do it when it has to autocomplete the referenced item. For example, if it autocompletes ThreadPool but you didn't type it it shouldn't add the using System.Threading.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Maybe that's the problem. I hit Enter expecting what I'm seeing to autocomplete but it does something totally different. I think I often jump the gun on the auto-complete.
|
|
|
|
|
That's exactly what happens to me.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
What language?
I just delete them all.
I use the using directive only for aliases and for adding Extension Methods.
|
|
|
|
|
Do you mean you use fully qualified type names for all of your variables? That must become tedious after a while.
The difficult we do right away...
...the impossible takes slightly longer.
|
|
|
|
|
Not the "basic" ones with built-in aliases like int and string , but all the rest, yes.
It's my preference. It aids my memory.
|
|
|
|
|
There is also a setting that allows it to remove unused ones on build. Might keep you from manually deleting them.
HTH
Jack of all trades, master of none, though often times better than master of one.
|
|
|
|
|
Personally, I can't use that one either without extra configuration work.
The reason being is I often target the dotnet framework as well as the newer dotnet offerings, and the newer ones have things like System.Collections.Generic already implicitly declared. Sharing the source file between each would cause an error in the DNF version if the newer dotnet version of the project gets built.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Ron Nicholson wrote: There is also a setting that allows it to remove unused ones on build. I'll have to try that! Thanks!
|
|
|
|
|
VS renders unused using s in a lighter color and I use the built in Sort and Remove Unused Usings command to clean things up.
/ravi
|
|
|
|
|
Agree it's annoying. Probably the main reason for my excessive usage of:
CTRL R+G - remove unused references and sort the others.
CTRL K+E - offically "code cleanup", but for me at least: seems to do R+G and K+D for spacing things
...choice of each mostly dependent on mood.
|
|
|
|
|
I'm not even sure if this is a programming question, a networking question, a Windows question...
I'm completely at a loss of where to look!
I'm developing a web app with a service in ASP.NET 8, both need a subdomain.
So I have sub.localhost:1234 for the web app and sub.localhost:5678 for the service.
I can access both in my browser, but my web app can't access the service ("no such host is known").
When I'm at home, it works.
When I'm at home and on VPN it doesn't work.
It works with and without VPN for my coworker, but only from home.
At the office, it doesn't work with or without VPN for both of us.
At first I though the VPN was the problem because at home it worked without the VPN, but today I'm at the office and it doesn't work at all (even though I developed this service at the office!).
We've deployed both in an Azure app service with the subdomain properly registered in the DNS and a valid certificate.
The web app can't access the service, again because "no such host is known".
We can, however, access the service in Azure from our development environment (sub.localhost:1234), but for me only without VPN and for my coworker only with VPN and only from home.
We can access the service from its Azure domain (e.g. myservice.azurewebsites.net).
The plot thickens, because for my coworker one specific controller does seem to work at the office, but not from home (it doesn't work for me at all).
The controller isn't particularly interesting.
When I remove the subdomain everything works.
It seems completely random and I can't even think of where to look...
At least I can rule out it's not a firewall issue (turned it off completely with no result).
Has anyone seen this before or have a clue of where to look?
|
|
|
|
|
sub.localhost makes no sense to me at all.
If we are saying localhost, it's a given that everything is at 127.0.0.1.
Maybe there is some reason you need *different* domains though for local app<->service.
In that case, I would ditch sub.localhost and go with something more akin:
myappservice 127.0.0.1
myapp 127.0.0.1
added to %windir%/system/drivers/etc/hosts
|
|
|
|
|
The sub domain is any customer location code.
So it's loc1.localhost or loc2.localhost.
I've thought about the hosts file, but that won't explain why it works in my browser, but I can't ping it and why it works at home, but not at the office and that my coworker has a varying mileage.
It doesn't work in Azure either, which is even weirder, since all subdomains are registered in a DNS within a "proper" domain.
|
|
|
|
|
If the subdomains are also located on different subnets things get more hairy than a Minoxidil spill.
Running things local, all should work with the host file entries for 'real' domains... <client>.myapp and <client>.myappservice is probably what I would pick.
I think maybe there is confusion about the routing happening server-side vs client?
Which really just depends on the code. If the code to hit the service is c# server-side vs something like an inline json call from js, then which DNS resolution (and which hosts file, client v server) is getting used would be different.
|
|
|
|
|
Hmm, localhost is not technically a domain name, so I guess that is why it is elephanting when trying to resolve a sub domain from it.
Two things I can think of to try:
1. use sub.127.0.0.1:1234 (or possibly sub."127.0.0.1":1234
2. add sub.localhost to your hosts file. (pointing to 127.0.0.1 or localhost)
Good luck
|
|
|
|
|
RainHat wrote: so I guess that is why it is elephanting when trying to resolve a sub domain from it But only under specific (unknown) circumstances, like being at the office or having a VPN.
I've thought about the hosts file, but that won't explain why it works in my browser, but I can't ping it and why it works at home, but not at the office and that my coworker has a varying mileage.
It doesn't work in Azure either, which is even weirder, since all subdomains are registered in a DNS within a "proper" domain.
|
|
|
|
|
When you say you cannot ping it, do you mean you get no response or you get no name resolution?
Try powershells from the machines where the app is running if you can...
Test-NetConnect <ip or fqdn> -p <port> ... I may be off on some of that syntax.
|
|
|
|
|
From comments at top of hosts file:
# localhost name resolution is handled within DNS itself.
# 127.0.0.1 localhost
# ::1 localhost
If I add a line to hosts file:
127.0.0.2 sub.localhost
then I can do:
>ping sub.localhost
Pinging sub.localhost [127.0.0.2] with 32 bytes of data:
Reply from 127.0.0.2: bytes=32 time<1ms TTL=128
Mircea
|
|
|
|
|
I've thought about the hosts file, but that won't explain why it works in my browser, but I can't ping it and why it works at home, but not at the office and that my coworker has a varying mileage.
It doesn't work in Azure either, which is even weirder, since all subdomains are registered in a DNS within a "proper" domain.
|
|
|
|
|
I think at least some browsers (Chrome, I'm looking at you!) have their own DNS resolver. VPN adds another level of weirdness and anyway localhost is not a valid domain name. Are you trying to solve all the possible interactions between these parts or you just want your app to work? If it's the first one, I'd like to hear the result, maybe in an article or tip here. If it's the second, just add a line to your hosts file. It has the highest priority in the DNS resolving order[^] and it just works.
Mircea
|
|
|
|
|
Sander Rossel wrote: I've thought about the hosts file, but that won't explain why it works in my browser, but I can't ping it and why it works at home, but not at the office and that my coworker has a varying mileage. A lot of servers disable pings to help prevent a DoS. Unless you're positive your server accepts pings, you'd be better of doing an ns lookup to see if it's going to be resolved or not.
Jeremy Falcon
|
|
|
|
|
I think your workplace might have some dodgy network group policies/filters.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
modified 7-Jun-24 10:01am.
|
|
|
|
|
I'm suspicious of that too, especially with new AI network monitors/thwarters... But it would be super weird for them to muck with overriding the hosts file though?
|
|
|
|