2017-03-12 3 views
-1

Visual Studio 2017에서 VB와 함께 매우 간단한 유니버설 Windows 응용 프로그램을 작성하고 있습니다. 응용 프로그램에서 사용자에게 기본적인 네트워크 정보를 제공해야하므로 IPGlobalProperties을 사용하여 데이터를 수집하려고했습니다. 인쇄 - 제 1 예로서 - 특성이 정확하게 코드의 처음 두 줄하는 int 할당되는 동안 TextBlock의 DomainName 제가 동일한 코드를 시도 System.PlatformNotSupportedException: 'Operation is not supported on this platform.' 에러 세 번째 줄 결과 textDomainUWP 응용 프로그램에서 VB.net으로 IPGlobalProperties 가져 오기

Dim NetworkProperties As NetworkInformation.IPGlobalProperties 
NetworkProperties = NetworkInformation.IPGlobalProperties.GetIPGlobalProperties 
textDomain.Text = NetworkProperties.DomainName 

라고 고전적인 Windows 응용 프로그램에서 의도 한대로 작동하므로 유니버설 응용 프로그램에서이 작업을 지원하지 않습니까? 그렇다면 네트워크에 관한 동일한 정보를 얻기 위해 사용해야하는 방법은 무엇입니까? 당신이

루카 첫째

+0

-1을 설명해 주시겠습니까? 내 생각에 아무런 관심을 보이지 않고 투표를하지 마십시오. 감사. – lucamauri

답변

0

를 제공 할 수있는 모든 도움을

덕분에, IPGlobalProperties 클래스는 UWP 응용 프로그램에서 지원되지 않습니다. UWP 응용 프로그램 용 .NET은 Universal Windows Platform 응용 프로그램을 만드는 데 사용할 수있는 관리되는 형식 집합을 제공하지만 모든 형식을 제공하지는 않습니다. 자세한 내용은 .NET for UWP apps을 참조하십시오. System.Net 네임 스페이스는 uwp 앱에서 사용할 수 있지만 IPGlobalProperties은 사용할 수 없습니다.

두 번째로 uwp 앱에서 동등하거나 유사한 API를 찾을 수 있습니다. 예를 들어 Windows.Networking.Connectivity 네임 스페이스에 속하는 uwp에서 NetworkInformation을 찾을 수도 있습니다. 그러나이 클래스의 메서드를 호출하는 것은 System.Net.NetworkInformation 네임 스페이스를 사용하는 동일한 방법이 아닙니다.

IPGlobalProperties으로 컴퓨터 이름 또는 도메인 이름을 가져 오려면 GetHostNames() 메서드를 호출 할 수 있습니다. 코드는 다음과 같습니다 :

Imports Windows.Networking.Connectivity 
''' <summary> 
''' An empty page that can be used on its own or navigated to within a Frame. 
''' </summary> 
Public NotInheritable Class MainPage 
    Inherits Page 

    Private Sub btngetinfo_Click(sender As Object, e As RoutedEventArgs) 
     Dim hostNames = NetworkInformation.GetHostNames() 
     textDomain.Text = hostNames.First.ToString 
    End Sub 
End Class 
+0

도움 주셔서 감사합니다. 이 주제에 관심있는 사람을위한 추가 참고 자료로, 사용자에게'HostName' 클래스가 설명 된 https://docs.microsoft.com/en-us/uwp/api/windows.networking.hostname 페이지를 가리키고 있습니다. – lucamauri

관련 문제