Hi Frederik,
warum es bei Dir Probleme gibt, kann ich wegen fehlender weiterer Info von Dir nicht sagen.
Ich habe Deinen Code mal in eine Konsolenanwendung kopiert (s. nachfolgende Demo), etwas angepasst und es läuft problemlos. Server-Url, Anmeldename, Kennwort im Klartext stehen in der Demo in den Einstellungen. In der Demo wird im Falle des Fehlens der Datei
eine Ausnahme geworfen ("Datei nicht gefunden").
Imports System.Net
Imports System.Security
Imports Microsoft.SharePoint.Client
Module Module01
Sub Main()
Try
Call (New Demo).Execute()
Catch ex As Exception
Console.WriteLine(ex.ToString)
End Try
Console.WriteLine("Continue enter key")
Console.ReadKey()
End Sub
Friend Class Demo
Friend Sub Execute()
Dim pw As New SecureString()
For Each c As Char In My.Settings.password.ToCharArray
pw.AppendChar(c)
Next
Dim result = CheckSharePointFile(My.Settings.onlineWebUrl & "/Shared%20Documents/Doc.docx",
Nothing, New SharePointOnlineCredentials(My.Settings.userName, pw))
Console.WriteLine(result.Name)
End Sub
Private Function CheckSharePointFile(url As String,
Optional crd As NetworkCredential = Nothing,
Optional spcrd As SharePointOnlineCredentials = Nothing) _
As Microsoft.SharePoint.Client.File
Dim filename As Uri = New Uri(url)
Dim server As String = filename.AbsoluteUri.Replace(filename.AbsolutePath, "")
Dim serverrelative As String = filename.AbsolutePath
Using ctx As New ClientContext(server) With {.Credentials = If(IsNothing(crd), spcrd, crd)}
Dim web = ctx.Web
ctx.Load(Web)
Dim file = web.GetFileByServerRelativeUrl(serverrelative)
ctx.Load(file)
ctx.ExecuteQuery()
Return file
End Using
End Function
End Class
End Module
--
Best Regards / Viele Grüße
Peter Fleischer (former MVP for Developer Technologies)
Homepage, Tipps, Tricks