It could be a problem of `SPUtility.GetFullUrl` not being able to work with layouts URLs (since they are shared between all sites in your farm, and not site specific) Try if string fullPath=SPUtility.ConcatUrls(SPContext.Current.Site.Url, webUrl) works better. Don't really now why you are trying to get a file from the virtual directory layouts though! Check for example here of how to read from this directory: http://sharepoint.stackexchange.com/questions/23798/how-to-read-a-file-from-a-folder-in-layouts If possible, you should consider to deploy the file into a library in SharePoint instead. That way you could do CRUD on it just like any other file in SharePoint