Unable to use DLL in Unity UWP app
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C#
- Sterne
- 4.4k
- Forks
- 993
- Ø Merge
- 9 T. 21 Std.
- Gemergte PRs (30 T.)
- 1
Beschreibung
My steps:
Built Renci.SshNet.NET35 and copied the DLL at *\src\Renci.SshNet.NET35\bin\Debug\ into Unity assets
Modified script from here as needed:
using System.IO;
using Renci.SshNet;
using Renci.SshNet.Common;
using Renci.SshNet.Sftp;
String Host = "ftp.csidata.com";
int Port = 22;
String RemoteFileName = "TheDataFile.txt";
String LocalDestinationFilename = "TheDataFile.txt";
String Username = "yourusername";
String Password = "yourpassword";
void Start(){
using (var sftp = new SftpClient(Host, Port, Username, Password))
{
sftp.Connect();
using (var file = File.OpenWrite(LocalDestinationFilename))
{
sftp.DownloadFile(RemoteFileName, file);
}
sftp.Disconnect();
}
}
Build solution aimed at HoloLens/UWP apps:
SDK - Universal 10
Target device - Any device
UWP Build Type - D3D
Changed .dll settings to SDK: Any SDK ; ScriptingBackend: Dot Net ; Don't process: Checked
Unity version: 5.5.1f1
Visual Studio version: 2015 update 3
Debugger tells me:
An exception of type 'System.IO.FileLoadException' occurred in Renci.SshNet.dll but was not handled in user code
Additional information: Could not load file or assembly 'System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
I've tried cleaning and rebuilding the solution as well as adding UnityEngine.dll as a reference but with no luck.
Thank you in advance for the help.
Additional info:
I just tried using the DLL from the Renci.SshNet.UAP10 directory and I get the same error.
If I add the lines
AssemblyName Core = new AssemblyName("System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, Retargetable=Yes");
Assembly.Load(Core);
It stops throwing the Exception but I have no way to check if it's connected properly because any other code stops working (like trying to write "Connected." in a UI Unity textbox).
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Den UWP-Build in Unity 5.5.1f1 mit den DLLs Renci.SshNet.NET35 und Renci.SshNet.UAP10 reproduzieren, ausgehend vom gemeldeten Fehler beim Laden der System.Core-Assembly. Die DLL-Einstellungen und Assembly-Referenzen vergleichen und anschließend überprüfen, dass die SftpClient-Verbindung ohne FileLoadException hergestellt wird und der nachfolgende Unity-UI-Code ausgeführt wird.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- csharp, unity
- Bereich
- game-dev, operating-systems
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100