2016-05-25 9 views
0

Ich arbeite an einem SSIS-Projekt, das eine einzelne Skriptaufgabe enthält. Die Aufgabe der Skriptaufgabe besteht darin, eine Textdatei in eine SharePoint-Website-Bibliothek hochzuladen. Ich verwende Microsft.SharePoint.Client und Microsoft.SharePoint.Runtime, um dies zu erreichen. Der Code ist sehr einfach.Hinzufügen einer Referenzassembly zur Skriptaufgabe und Bereitstellen

string sharePointSite = @"https://server.com"; 

      using (ClientContext ctx = new ClientContext(sharePointSite)) 
      { 
       Web currentWeb = ctx.Web; 

       ctx.Load(currentWeb); 

       ctx.ExecuteQuery(); 

       using (FileStream fs = new FileStream(@"Z:\samplefile.txt", FileMode.Open)) 
       { 
        Microsoft.SharePoint.Client.File.SaveBinaryDirect(ctx, "/sites/subsite/Library/TestFile from client.txt", fs, true); 

       } 

       Console.WriteLine("Uploaded File Successfully"); 
      } 

Dies funktioniert wie erwartet von Visual Studio. Wenn ich das jetzt auf einen anderen Server packe, bin ich nicht sicher, ob die DLLs zusammen mit der Deployment-Datei gepackt werden. Ich habe die Eigenschaft 'Kopie lokal' auf 'wahr' gesetzt. In einer .NET-Anwendung wird die DLL-Datei normalerweise in den Ordner bin kopiert. Aber sollte ich im Falle einer SSIS-Skriptaufgabe nach der kopierten DLL suchen?

Antwort

1

Sie müssen sicherstellen, dass alle von Ihrer SSIS-Skriptkomponente referenzierten DLLs auf dem Prod-Server unter "C: \ Windows \ Microsoft.NET \ assembly \" installiert sind. Das SSIS-Paket verschiebt diese DLLs nicht.

Verwandte Themen