Ich habe ein seltsames Verhalten, wenn ich versuche, ein C# -Programm zu verwenden, um lokale Dateien auf einen Sharepoint Server zu kopieren Dateisystem. Zuallererst hat mein Benutzer alle Privilegien, um auf diesen spezifischen Sharepoint-Ordner zuzugreifen.Kopiere Datei zu Sharepoint-Freigabe fehlschlägt, wenn Benutzer zum Sharepoint Server zum ersten Mal verbindet
Dies ist, was im Grunde genommen mein Betrieb wie folgt aussieht:
string targetSharepointPath = @"\\[email protected]\DavWWWRoot\team\wmscompanydep\Software Releases\MyToolConfig"
System.IO.File.Copy(sourcePath, targetSharepointPath, false);
Diese mit einem Fehler fehlschlägt „Der Netzwerkpfad wurde nicht gefunden.“
Sobald ich den obigen Pfad kopieren und in Windows Explorer (nicht Internet Explorer, das ist einfach ein UNC-Pfad) einfügen, funktioniert alles.
Also meine Annahme ist, dass im Hintergrund Windows Explorer ein bisschen mehr tut. Aber was? Ich muss keine Zugangsdaten eingeben, der targetSharepointPath funktioniert einfach im Explorer, und sobald dieser einmal eingegeben wurde, funktioniert es auch in meinem C# -Programm. Bis ich mein System neu starte, muss ich diesen Schritt wiederholen. Warum und wie kann ich das programmatisch erreichen? Ich arbeite viel mit UNC-Pfaden auf "normalen" Windows-Servern und sobald der Benutzer Rechte hat, brauche ich keine zusätzliche Authentifizierung.
ich denke, es sollte funktionieren ... + 1 – Ansari
ich dies mehrmals verwendet jetzt, und es macht den Job, gute Antwort, danke! – Erik
Das war genau das, was ich brauchte. Ich habe einen Netzwerkpfadfehler nicht gefunden. Eine Anmerkung zu dem obigen Code ist, dass es einen Verweis auf System.ServiceProcess.dll benötigt. https://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontroller(v=vs.110).aspx –