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?