2017-04-25 2 views
2

Nach U-SQL-Referenz zur Montage auf die referenzierte Assembly So speichern Sie die Anweisung CREATE: https://msdn.microsoft.com/en-us/library/azure/mt763293.aspxerstellen Baugruppen mit zusätzlichen Dateien Datendateien in einem relativen Pfad

Wenn wir weitere Dateien mit der Montage aus dem Laden, wir kann definitiv einen relativen Pfad für jede Datei in dem Speicher definieren, auf den wir uns beziehen, wie auch immer, wenn wir ihn in einem relativen Pfad finden wollen, den andere DLLs während der Ausführung erwarten.

Beispiel: CREATE ASSEMBLY Businesslogic AB @ "/ Path1/BusinessLogic.dll" MIT additional_files = ( @ "/ Path1/Path2/dataFile.xml", )

Jetzt, während BusinessLogic.dll läuft, es erwartet dataFile.xml im relativen Verzeichnis/Path2, was nicht in der Laufzeit beibehalten wird (wusste, dass von lokalen Debugging), und damit die gesamte Ausführung fehlschlägt, wie diesen relativen Pfad für zusätzliche Dateien beibehalten?

Antwort

1

Als Dokumentation, die Sie beziehen sich auf erklärt, die zusätzlichen Dateien in das Arbeitsverzeichnis platziert werden gerade an der Stelle, ohne ein Verzeichnis:

Diese Klausel optional den Namen angibt, die für die zusätzliche Datei verwendet wird , wenn es in das Laufzeitarbeitsverzeichnis gestellt wird. Das Zeichenfolgenliteral muss ein gültiger Dateiname sein (und keinen Pfad enthalten), oder ein Fehler wird ausgelöst. Beachten Sie, dass dies der Name der Datei sein sollte, die die Hauptassembly verwendet, um auf die Datei oder den Assembly-Code zu verweisen, die Datei zur Laufzeit nicht finden und einen Fehler auslösen kann.

So Ordner-Strukturen sind derzeit nicht erhalten. Was kannst du tun?

  1. Bitte file a feature request auf relative Pfadnamen in der zusätzlichen Datei AS Klausel zu unterstützen.

  2. Sie können die Dateien in einer ZIP-Datei bereitstellen und sie dann in Ihrer benutzerdefinierten Assembly entpacken, um sie an die richtige Stelle zu bringen.

Verwandte Themen