Контекст: Azure, C#, ClearScript, JavaScript, HtmlAgilityPack, HtmlAgilityPack.CssSelectorsКак выставить HtmlAgilityPack.CssSelectors в ClearScript
Я делаю это много: добавить сценарии для C# приложений, использующих ClearScript. Обычно это работает.
...
using Microsoft.ClearScript;
using Microsoft.ClearScript.Windows;
...
class Program
{
static JScriptEngine JSengine = null;
...
JSengine = new JScriptEngine(WindowsScriptEngineFlags.EnableDebugging | WindowsScriptEngineFlags.EnableJITDebugging);
....
JSengine.AddHostType("CSHtmlDocument", typeof(HtmlAgilityPack.HtmlDocument));
...
, а позже, в самом коде JavaScript, есть такие вещи, как
...
var hap = new CSHtmlDocument();
hap.LoadHtml(html);
...
Так что это будет очень хорошо, пока я не добавить HtmlAgilityPack.CssSelectors
в смесь. На стороне C# это добавляет дополнительные методы к объекту HtmlDocument
, в частности QuerySelector
и QuerySelectorAll
. Они видны на стороне C#. Тем не менее, на стороне JavaScript, они не так и код, такой как
...
var selection = hap.QuerySelector(".reduced");
...
выдает ошибку и смотрит на объект из сеанса отладки в Visual Studio 2015 не показывает QuerySelector
метод в ГАП вар.
Итак, что это за история? Это проблема ClearScript или проблема с C#? И что мне с этим делать? Я очень рад написать класс обертки, я просто ожидал, что все по-прежнему будет работать.
Можете ли вы привести пример синтаксиса? – bugmagnet
См. Мои правки выше. – BitCortex
Хорошо, что компилируется. О том, работает ли он на стороне скриптинга. – bugmagnet