CefSharp в WinForms — ExecuteScriptAsync или EvaluateScriptAsync не работает

Я использую CefSharp WinForms в своем проекте, и я не могу заставить его выполнить сценарий JS из элемента управления браузером CefSharp (хотя я должен был перейти к URL-адресам, поэтому большая часть функций CEF работает). Я пытался следовать руководству по адресу: https://github.com/cefsharp/CefSharp/search?utf8=%E2%9C%93&q=BoundObject

Я использую следующие пространства имен:

using CefSharp.WinForms;
using CefSharp.Internals;

и добавлены ссылки на следующие сборки (x64):

CefSharp.WinForms.dll
CefSharp.dll
CefSharp.Core.dll

но все же я получаю следующую ошибку, когда пытаюсь использовать одну из функций: ExecuteScriptAsync или EvaluateScriptAsync

Я получаю следующую ошибку:

'CefSharp.WinForms.ChromiumWebBrowser' does not contain a definition for 'EvaluateScriptAsync' and no extension method 'EvaluateScriptAsync' accepting a first argument of type 'CefSharp.WinForms.ChromiumWebBrowser' could be found (are you missing a using directive or an assembly reference?)

'CefSharp.WinForms.ChromiumWebBrowser' does not contain a definition for 'ExecuteScriptAsync' and no extension method 'ExecuteScriptAsync' accepting a first argument of type 'CefSharp.WinForms.ChromiumWebBrowser' could be found (are you missing a using directive or an assembly reference?)

может ли кто-нибудь направить меня к тому, что мне не хватает? есть ли другой API? может быть, какая-то эталонная dll, которую мне не хватает? Благодарность


person user1322801    schedule 25.11.2015    source источник
comment
Вы установили пакет Nuget? Какую версию конкретно вы используете? В более новых версиях эти методы были преобразованы в Extension Methods, поскольку они могут выполняться в определенном кадре. В паре случаев я видел, как у людей были проблемы. Сначала попробуйте получить основную раму. См. github.com/cefsharp/CefSharp/blob/cefsharp. /45/CefSharp/ для примера   -  person amaitland    schedule 26.11.2015


Ответы (2)


Возможно, вам не хватает еще одного пространства имен. Я предлагаю вам добавить:

 using CefSharp;

У нас была такая же проблема, и мы обнаружили, что нам просто не хватает этого. Теперь у нас есть:

using System.Text;
using CefSharp;
using CefSharp.WinForms;
using CefSharp.Internals;
person CaptainBli    schedule 24.03.2016

CaptainBli прав: вы должны использовать «используя CefSharp»

Вероятно, вы не ожидали его там, поскольку он, похоже, находится в другом пространстве имен: «CefSharp.WinForms.ChromiumWebBrowser».

Это связано с тем, что EvaluateScriptAsync и ExecuteScriptAsync являются методами расширения.

person Sam    schedule 06.05.2019