Visual Studio-Template-Parameter: Machine Name Aktiviert?
-
03-10-2019 - |
Frage
Ist $machinename$
aktiviert immer? Ich wollte einen Code schreiben auf diesem Rückgabewert basierte, aber Python socket.gethostname()
returns "Mark-PC", während $machinename$
returns "MARK-PC". Wenn ja, werde ich .upper()
nur den Host-Namen, aber es scheint ein bisschen dumm, dass ich muss das tun sollte. Warum die Inkonsistenz?
Lösung
Der Unterschied ist, dass $ $ Computername den NetBIOS-Namen zurückgibt, und socket.gethostname () gibt den Hostnamen ein. Sie sind verschiedene Dinge obwohl Windows in der Regel Namen sie identisch. Der Hostname-API kann technisch ein anderes Ergebnis zurück, wenn Sie den primären DNS-Suffix in der Windows-Systemeinstellungen zu ändern. (An welcher Stelle es Computername + Suffix wird)
Dies ist die Systemebene und nicht spezifisch für Python, wie durch den äquivalenten C # APIs dargestellt:
System.Net.Dns.GetHostName() --> method would return Mark-PC
Environment.MachineName --> property would return MARK-PC