PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Projekt von GitHub bauen mit VS2013 Express schlägt fehl


Mond
2017-01-13, 22:14:11
Hallo Leute,

ich benutze zum schnellen Hinzufügen von Download Aufträgen für mein Synology NAS ein kleines Tool, welches auf GitHub frei verfügbar ist:

https://github.com/TheDuffman85/SynologyDownloadStationAdapter

Ich würde am Code gerne ein wenig was ändern für mich, scheitere derzeit aber beim Aufsetzen der Projektumgebung auf Grund fehlender Abhängigkeiten. Die Projektseite listet 4 Abhängigkeiten, wovon 3 zumindest schonmal installiert sind (son.NET, Jurassic, awesomium.NET). D.h. ich bekomme ohne Änderungen nichtmal einen Build hin. :freak: Ich kenne mich zugegebenermaßen mit VS null aus, daher wundere ich mich auch nicht darüber dass es gerade nicht klappt.

Ich habe das Projekt über Projekt öffnen direkt geladen in VS (durch Auswählen der sln Datei).

1. Problem: er findet awesomium.NET nicht. Ich habe aber extra ein neues Projekt mit einer WPF Applikation gestartet und kann ganz normal die Tools in der Toolbox von awesomium auswählen. D.h. es ist in VS verfügbar, das Projekt findet es aber anscheinend nicht. Irgend ein Tipp was ich machen kann?
EDIT: Habe die Möglichkeit gefunden die Verweise zu aktualisieren. Ein Entfernen und Hinzufügen hat Abhilfe geschafft.

2. Problem: Es gibt eine Abhängigkeit zu https://github.com/cyberoot/SynoSharp. Dieses muss ich also irgendwie in mein Projekt einbinden. Ich hab nur keine Ahnung wie. Kann jemand sagen was ich in VS angeben muss damit das klappt?

Vielen Dank für die Hilfe.

Mond
2017-01-13, 23:02:51
Ich bin mittlerweile ein Schritt weiter, die Abhängigkeiten sollten passen. Nun bekomme ich aber folgenden Fehler:

http://imgur.com/QxEydKC

Für mich sieht das so aus, als wäre in #3 eine Abhängigkeit erforderlich, die ich so nicht auflösen kann? ???

Monger
2017-01-13, 23:17:45
Zu 1)
Man sieht dass das ein Amateur gemacht hat. Es ist nicht deine Schuld, wenn du es nicht gebaut kriegst. Wie er bei sich lokal daraus einen lauffähigen Stand geschustert hat, bleibt wohl sein Geheimnis.
Das sieht man unter anderem daran, dass er ins Projekt die Referenz-DLLs eingecheckt hat. Kein gescheiter Entwickler würde das machen, sondern würde einen Package Manager wie z.B. NuGet benutzen.
Aber auch der Code sieht eher nach... naja, Anfänger aus. Und es ist seit über 1,5 Jahren dort nix mehr passiert.

Zu 2)
Deutlich professioneller aufgezogen, aber offenbar hat der Erschaffer das Interesse am eigenen Projekt noch vor dem ersten Release verloren. Du kannst es natürlich trotzdem selber bauen und nutzen, aber meistens wurden solche Projekte nicht grundlos fallen gelassen.

GitHub ist leider voll mit Müll. Ich empfehle dir: such dir eine Alternative. Die Wahrscheinlichkeit ist groß, dass es Tools für den selben Anwendungszweck, nur mit deutlich höherer Qualität gibt.
Natürlich kann man auch versuchen ein totes Pferd wiederzubeleben, aber das ist ungeheuer anstrengend.

Monger
2017-01-14, 18:10:45
Ich hab mich gefragt warum Downloads bei Synology eigentlich so speziell sind...

Wie sich herausstellt, haben sie für ihre Download Station eine eigentlich echt schöne REST API geschaffen:
http://ukdl.synology.com/download/Document/DeveloperGuide/Synology_Download_Station_Web_API.pdf

Da drauf einen C# Adapter zu dübeln und dann nochmal ein Windows Forms Projekt ist eigentlich totaler Overkill. Du brauchst wahrscheinlich die Zwischenschichten nicht. Weil was ich vermute was du willst, ist: ihm ein paar Links hinwerfen die er dann gefälligst irgendwohin runterlädt.

Wenn du magst, probier mal folgendes aus...
Kopier den folgenden Link in deinen Browser, halt mit passender Anpassung:
<Deine Webadresse vom Synology NAS>/webapi/DownloadStation/info.cgi?api=SYNO.DownloadStation.Info&version=1&method=getinfo
Wenn da was zurück kommt, kannst du das selbe mal mit Powershell probieren. Powershell Konsole öffnen und dann folgendes eintippen:
Invoke-WebRequest -Uri "<Deine Webadresse vom Synology NAS>/webapi/DownloadStation/info.cgi?api=SYNO.DownloadStation.Info&version=1&method=getinfo" -Method Get -ContentType "application/json" -UseDefaultCredentials

Wenn das funktioniert, dürfte alles andere nach dem selben Schema funktionieren.

Invoke-WebRequest -Uri "<Deine Webadresse vom Synology NAS>/webapi/DownloadStation/task.cgi?api=SYNO.DownloadStation.Task&version=1&method=create&uri=ftps://192.0.0.1:21/test/test.zip&username=admin&password=123" -Method Post -ContentType "application/json"

Theoretisch kann man darauf immer noch einen kleinen Dialog dübeln, oder halt komfortabler für Batch Operationen aufbohren... aber du bist nicht daran gebunden, dir irgendwelche dubiosen Clients von GitHub runterzuladen.

Mond
2017-01-16, 20:55:15
Danke für die Rückmeldung. Vielleicht erklär ich einfach mal was ich überhaupt will: Das Tool funktioniert wunderbar. Es gibt sogar eine Einstellung, das Links im Clipboard beobachtet werden und auf Bestätigung hinzugefügt werden. Doch hier ist eine Schwäche, da wirklich alle Links im Clipboard abgefangen werden, auch Text Dateien oder Bilder, und nicht nur ZIP Dateien oder youtube videos. Daher dachte ich daran, den Code für mich so zu modifizieren, dass nur bestimmte URL Schemata hinzugefügt werden. Doch leider will der Build ja nicht so... Schade. Trotzdem danke.