Ich habe eine C# UWP App, die ich auf einem Raspberry PI mit Windows 10 IoT Core ausführen möchte. Das Problem, das ich habe, ist, wenn ich versuche, eine Verbindung zu einer UNC-Freigabe herzustellen, um einige Dateien zu kopieren.Zugriff auf Netzwerkfreigabe von Raspberry Pi mit IoT Core in der UWP App
Das Netzwerk ist nur ein Heimnetzwerk mit lokalen Benutzeranmeldeinformationen, Freigabe ist auf einem anderen Computer im selben Netzwerk.
Wenn Sie die App lokal ausführen, kann ich einfach await StorageFolder.GetFolderFromPathAsync(@"\\share\folder");
verwenden, um eine Verbindung mit der Freigabe herzustellen, und das funktioniert einwandfrei. Ich gehe davon aus, dass die von mir verwendeten Anmeldeinformationen auf dem lokalen Computer gespeichert sind. Bei der Ausführung auf dem RPi lautet der Fehler: "Das System kann die angegebene Datei nicht finden."
Hat jemand irgendwelche Ideen, wie ich zu diesem Antrieb in Verbindung bringen würde, ich bin Spiel für irgendetwas in diesem Stadium, um es an der Arbeit ...
Was ich habe versucht:
- Freigabe verfügt über Berechtigungen für alle und kann ohne Anmeldeinformationen zugegriffen werden
- Netzwerkfreigabe Computer-Firewall ist deaktiviert.
- Manifest hat die privaten Netzwerke, Enterprise-Authentifizierung und Internet (beide) Setup (vorausgesetzt, okay, da lokal funktioniert).
await StorageFolder.GetFolderFromPathAsync(@"\\share\folder");
(„Das System kann die angegebene Datei nicht finden.“)- mithilfe von Powershell mit
net use "\\share\folder" "password" /USER:"user"
Arbeiten und unc sucht werden kann - Versuchen
WNetAddConnection2
wie in Prevent WNetAddConnection2 class which allows prohibited user to access shared folder mit - Versuchte
WNetUseConnection
sowohl mit Benutzeraufforderung und ohne (funktioniert nicht) - FolderPicker oder FileOpenPicker, aber diese scheinen für IoT Core deaktiviert zu sein (https://ms-iot.github.io/content/en-US/win10/UnavailableApis.htm).
Vielen Dank im Voraus,
Paul.
Haben Sie versucht, die IP-Adresse der Remote-Maschinen im UNC-Pfad anstelle des Computernamens zu verwenden? Möglicherweise haben Sie ein Problem mit der Namensauflösung. \\ ipadresse \ sharename anstelle von \\ computername \ sharename? – BStateham
Yeah versuchte IP-Adresse, wo relevant oben, zusammen mit anderen Variationen, \ c $ \ zum Beispiel. –
Können Sie versuchen, die Freigabe zuerst als networkdrive zuzuweisen (z. B. über den DOS-Befehl 'net use') und dann über den lokalen Laufwerksbuchstaben darauf zuzugreifen? Ich habe kein Pi in der Nähe, um das jetzt auszuprobieren. –