Outlook Не удается загрузить файл или сборку CefSharp.Core.dll

Я пытаюсь разместить CefSharp.Winform (элемент управления веб-браузером Chromium для winform) в надстройке VSTO Outlook, используя VS2015, но безуспешно.

Шаги, которые я выполняю, следующие:

  1. Создайте проект надстройки Outlook 2013.
  2. изменить настройку решения с любого процессора на x86
  3. установите CefSharp.Winfom с помощью самородка.
  4. Доступ к Cef, например, cef.initialize() в коде.
  5. скомпилировать проект без ошибок.

Но при запуске надстройки выдается ошибка «Не удается загрузить файл или сборку CefSharp.Core.dll или одну из зависимостей».

Я скомпилировал образец проекта winform и запустил его без проблем. Кроме того, я попытался скопировать все зависимости от проекта winform в Outlook, но проблема осталась.

Любая идея, как заставить CefSharp.WinForm работать в среде дополнений?


person Jim    schedule 13.12.2016    source источник
comment
версия Outlook работает 64 бит?   -  person Daniel A. White    schedule 13.12.2016
comment
Windows 7 32-разрядная, Outlook 2013 32-разрядная   -  person Jim    schedule 13.12.2016
comment
Попробуйте оставить целевую платформу AnyCPU.   -  person Eugene Astafiev    schedule 14.12.2016
comment
У меня есть настройка AnyCPU по умолчанию, но у меня была очень известная проблема, указывающая на изменение ее на x86 или x64.   -  person Jim    schedule 14.12.2016


Ответы (1)


Прежде всего, я бы предложил оставить целевую платформу AnyCPU.

Во-вторых, вы можете включить журналы Fusion для обнаружения отсутствующих зависимостей. Чтобы включить журналы Fusion, вы можете либо использовать инструмент .NET Framework «Просмотр журнала привязки сборки» (fuslogvw), либо внести записи в реестр, чтобы включить ведение журнала.

Вот записи реестра, которые необходимо сделать:

а) Откройте regedit и перейдите к «HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion».

б) Создайте значение DWORD с именем «EnableLog» и установите для него значение 1.

c) Создайте значение DWORD с именем «ForceLog» и установите для него значение 1.

г) Создайте значение DWORD с именем «LogFailures» и установите для него значение 1.

e) Создайте строковое значение с именем «LogPath» и установите для него значение «c:\Fusion».

е) Создайте папку «c:\Fusion».

После воспроизведения проблемы просмотрите каждый из файлов, созданных в папке «C:\Fusion\ Default \\». Исправьте ошибки и повторите попытку. Чтобы узнать больше о средстве просмотра журнала привязки сборок (fuslogvw), см. Просмотр журнала привязки сборки (Fuslogvw.exe).

person Eugene Astafiev    schedule 13.12.2016
comment
Я очень ценю такой обширный ответ. К сожалению, я не могу оставить это AnyCPU, так как он вообще не компилируется. Кроме того, я сомневаюсь, что у меня отсутствуют dll, поскольку я просто копирую всю папку со всеми зависимостями из проекта winform в папку bin. После этого сообщения github.com/cefsharp/CefSharp/issues/1191 я начинаю думать что CefSharp вообще не подходит для офисных надстроек. - person Jim; 14.12.2016
comment
Вы пытались вместо этого использовать Awesomium? - person Eugene Astafiev; 14.12.2016
comment
Мне удалось заставить его работать с CefGlue. У Awesomium странный план лицензирования. - person Jim; 14.12.2016