2017-10-12 1 views
0

Ich habe ein Projekt in einer Azure Service Fabric Solution. Wie kann ich den vollständigen Dateipfad einer Inhaltsdatei abrufen? Die Inhaltsdatei befindet sich im selben Ordner wie mein Quellcode.So erhalten Sie den Dateipfad einer Datei in Azure Service Fabric

Was ich versucht:

Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location 

Aber es stellt sich heraus:

C: \ SfDevCluster \ Data_App_Node_4 \ ABCXYZType_App126 \ ABCXYZPkg.Code.1.0.0 \ ABCXYZ.dll Dies ist eine Datei in bin/Debug-Ordner

+0

Also, was ist falsch mit diesem Pfad? Es ist der vollständige Weg. Dort werden die Pakete bereitgestellt. Was hast du erwartet? –

+0

Tut mir leid, ich werde die Frage zur Klarheit bearbeiten. Der Pfad, den ich erhalte, befindet sich im Ordner bin/debug. Was ich will, ist eine Inhaltsdatei, die im Quellcodeordner ist. –

Antwort

1

Um die Position von Content-Dateien erhalten Sie verwenden können:

var path = Path.Combine(
      FabricRuntime.GetActivationContext().GetCodePackageObject("Code").Path, 
      "Readme.txt"); 

ServiceEventSource.Current.ServiceMessage(this.Context, File.ReadAllText(path)); 

vorausgesetzt, dass in der Datei "Readme.txt" die Build-Aktion auf "Inhalt" gesetzt ist und die Einstellung "In Ausgabeverzeichnis kopieren" auf etwas anderes als "nicht kopieren" gesetzt ist.

Verwandte Themen