Laden...
X
xpuehrinq
myCSharp.de - Member
0
Themen
5
Beiträge
Letzte Aktivität
vor 10 Jahren
Dabei seit
26.01.2015
Alter
34
Erstellt vor 10 Jahren

Vielen Dank,

aber du hast geschrieben:

Ich konnte die NullReferenceException nur nachbilden, wenn ich versuche eine Datei direkt auf einem Root-Verzeichnis eines nicht existiertenden Laufwerk zu speichern.

Vorhanden war das Laufwerk aber, Deswegen war mir das ganze jetzt nicht so klar.

Erstellt vor 10 Jahren

Ich habe das Problem gefunden:

Siehe Anhang Screenshot113.png.

Hier greifst du auf parent zu, obwohl es auf null zeigt. Dass wird mit jeder Datei passieren,
die du direkt auf das Rootverzeichnis eines beliebigen Laufwerks kopieren willst.

Edit: Datei: Internal\InternalQuickIO.cs

Erstellt vor 10 Jahren

Mein E:\ war beim Test vorhanden, aber dass ist glaub ich nicht das Problem:

Fehlermeldung:
bei SchwabenCode.QuickIO.Internal.InternalQuickIO.:::

bei SchwabenCode.QuickIO.QuickIODirectory.Create(QuickIOPathInfo pathInfo, Boolean recursive) in
c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\QuickIODirectory_Create.cs:Zeile 93.
bei SchwabenCode.QuickIO.Transfer.QuickIOTransferFileCopyJob.Implementation() in
c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\Transfer\QuickIOTransferFileCopyJob.cs:Zeile 109.
bei SchwabenCode.QuickIO.Transfer.QuickIOTransferJob.Run() in
c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\Transfer\QuickIOTransferJob.cs:Zeile 139.

Das Problem dürft sein, dass er ein Verzeichnis/eine Datei nicht findet:
Ich habe hier wieder meine Klassen nicht angefügt und den Stacktrace etwas formatiert

Mein Programm startet vom *H:* Laufwerk (Gemountetes Netzlaufwerk).
Ich weiß als nicht warum die Library versucht auf *c:* zuzugreifen bzw. eine Klasse dort zu suchen.
In meinem *c:* Laufwerk befindet sich kein _data Verzeichnis, auch nicht durch Ändern der "Ordner- und Suchoptionen".

Ich hoffe das wahr jetzt verständlich. 😁

Erstellt vor 10 Jahren

Hallo Abt,

Ok, das dürfte ich vielleicht falsch formuliert haben.

Die Klassen und Methoden heissen in der Library anders als dem Codebeispiel, dass du dort angegeben hast:

QuickIO.NET API - QuickIOTransferFileCopyJob

In dem angegebenen Beispiel verwendest du folgendes:

copyJob.CopyStarted += OnCopyStarted;

verwendet muss es aber so werden:

copyJob.Started += OnCopyStarted;

Dass gilt für alle meine angegebenen Beispiele. Ich hoffe das ist jetzt verständlich formuliert.
Deine API war vollkommen in Ordnung, ich bezog mich hier nur auf das Codebeispiel.

PS.: Andere Codebeispiele habe ich mir nicht angesehen, bzw. auf Richtigkeit überprüft.

Erstellt vor 10 Jahren

Hallo Abt,

Zu aller erst einmal vielen Dank für die Library. Meine Aufgabe ist es ein ca. 12GB großes File von einem Server auf einen USB Stick kopieren.
Mit File.Copy dauerts über eine Stunde, deswegen war ich auf der Suche nach einer anderen Library. (Per NuGet installiert).
Gleich beim Testen stoße ich da auf einen eigenartigen Fehler:
Es sieht so aus, als würde er nach fehlenden Sourcen suchen.

Nullpointer bei QuickIOTransferFileCopyJob:

Namen, Klassen und Pfade wurden verändert.


            QuickIOTransferFileCopyJob copyJob = new QuickIOTransferFileCopyJob(@"\\server\test.ova", @"E:\test.ova", 65535);
            copyJob.Started += OnCopyStarted;
            copyJob.Progress += OnCopyProgress;
            copyJob.Finished += OnCopyFinished;

            copyJob.Run(); <- Hier kommt NPE.

Fehlermeldung:
bei SchwabenCode.QuickIO.Internal.InternalQuickIO.CreateDirectory(QuickIOPathInfo pathInfo, Boolean recursive) in c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\Internal\InternalQuickIO.cs:Zeile 134.
bei SchwabenCode.QuickIO.QuickIODirectory.Create(QuickIOPathInfo pathInfo, Boolean recursive) in c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\QuickIODirectory_Create.cs:Zeile 93.
bei SchwabenCode.QuickIO.Transfer.QuickIOTransferFileCopyJob.Implementation() in c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\Transfer\QuickIOTransferFileCopyJob.cs:Zeile 109.
bei SchwabenCode.QuickIO.Transfer.QuickIOTransferJob.Run() in c:_data\Business\CUSTOMERS\SchwabenCode\QuickIO\Dev\QuickIO\Transfer\QuickIOTransferJob.cs:Zeile 139.

Meine Klasse

bei System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
bei System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
bei Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ThreadHelper.ThreadStart_Context(Object state)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean ignoreSyncCtx)
bei System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()

Wie es aussieht hatte PuppetMaster2k auch ein ähnliches Problem, welches du gleich behoben hast.

Vielen Dank im voraus.

PS.: Mir ist auch ein kleiner Fehler in der API von QuickIO aufgefallen:
QuickIO.NET API - QuickIOTransferFileCopyJob
API = Library (Die folgenden Punkte heißen links in der API und rechts in der Library)*CopyStarted = Started *CopyProgress = Progress *CopyFinished = Finished *QuickIOTransferFileCopyFinishedArgs = QuickIOTransferFileCopyFinishedEventArgs *QuickIOTransferFileCopyProgressArgs = QuickIOTransferFileCopyProgressEventArgs *QuickIOTransferFileCopyStartedArgs = QuickIOTransferFileCopyStartedEventArgs