Описание ошибки: Разработав на машине с установленным SharePoint 2010 консольное приложение, использующее клиентскую модель SharePoint, решил попробовать запустить его со своей рабочей станции с установленной Windows 7 x64. И ужас – приложение вывалилось с ошибкой при запуске. Причем даже не дойдя до этапа выполнения, т.к. обертка try-catch не сработала.
В журнале Application операционной системы было вот что:
Имя сбойного приложения: GetSPObjects.exe, версия: 1.0.0.0, отметка времени: 0x551936cc
Имя сбойного модуля: KERNELBASE.dll, версия: 6.1.7601.18409, отметка времени 0x53159a86
Код исключения: 0xe0434f4d
Смещение ошибки: 0x0000c42d
Идентификатор сбойного процесса: 0x%9
Время запуска сбойного приложения: 0x%10
Путь сбойного приложения: %11
Путь сбойного модуля: %12
Код отчета: %13
Исправление: Для исправления ошибки необходимо поместить в GAC (C:\Windows\assembly) библиотеки Microsoft.SharePoint.Client.dll и Microsoft.SharePoint.Client.Runtime.dll.
Листинг простого приложения для примера ниже:
using System; using System.Text; using Microsoft.SharePoint.Client; using System.IO; namespace GetSPObjects { class Program { static void Main(string[] args) { try { ClientContext cc = new ClientContext("http://sharepointdev/dc/"); Web oWebsite = cc.Web; cc.Load(oWebsite); cc.ExecuteQuery(); Console.WriteLine(oWebsite.Title); } catch (Exception ex) { string LogFilePath = "log.xml"; TextWriter logfile = new StreamWriter(LogFilePath); logfile.Write("Ошибка: " + ex.Message); Console.WriteLine("Ошибка: " + ex.Message); //Console.ReadKey(true); logfile.Close(); } finally { Console.WriteLine("Press any key to continue"); Console.ReadKey(true); } } } }