visual tag studio returns remarks c# mshtml

tag - summary c# visual studio



Usar mshtml no funciona (2)

Tengo la aplicación ac # y he intentado usar algunos elementos mshtml. Pero tengo un problema. El using mshtml; El espacio de nombres me da un error es Visual Studio 2012.

Aquí está mi código fuente,

namespace Tagger { using mshtml; using System; using System.Collections; using System.Collections.Generic; using System.Runtime.CompilerServices; using System.Text; public class HTMLForm { private string _action = ""; private string _method = ""; public Hashtable Inputs = new Hashtable(); public HTMLForm(IHTMLFormElement element) { this._method = element.method; this._action = element.action; foreach (IHTMLInputElement element2 in (IHTMLElementCollection) element.tags("input")) { try { string name = element2.name; string str2 = element2.value; if (name == null) { name = element2.type; } this.Inputs.Add(name, str2); } catch { } } } public static HTMLForm[] GetAllForms(string html) { List<HTMLForm> list = new List<HTMLForm>(); HTMLDocument document = (HTMLDocument) Activator.CreateInstance(Type.GetTypeFromCLSID(new Guid("25336920-03F9-11CF-8FD0-00AA00686F13"))); document.write(new object[] { html }); document.close(); foreach (IHTMLFormElement element in document.forms) { list.Add(new HTMLForm(element)); } return list.ToArray(); } public static HTMLForm GetFormByAction(string html, string action) { foreach (HTMLForm form in GetAllForms(html)) { if (form.Action.ToLower() == action.ToLower()) { return form; } } return null; } public string ToPostData() { StringBuilder builder = new StringBuilder(); foreach (string str in this.Inputs.Keys) { object obj2 = this.Inputs[str]; string str2 = (obj2 == null) ? "" : obj2.ToString(); builder.AppendFormat("{0}={1}&", HTTPBase.encode(str), HTTPBase.encode(str2)); } if (builder.Length > 1) { return builder.ToString().Substring(0, builder.Length - 1); } return ""; } public string Action { get { return this._action; } set { this._action = value; } } public string Method { get { return this._method; } set { this._method = value; } } } }

Pero no puedo usar las funciones de htmlelement, IHTMLElementCollection. El compilador me da un error.

Error 1 No se pudo encontrar el tipo o el nombre de espacio de nombres ''mshtml'' (¿falta una directiva de uso o una referencia de ensamblado?)

Error 5 The type or namespace name ''HTMLDocument'' could not be found (are

¿Te falta una directiva de uso o una referencia de ensamblado?

Error 2 No se pudo encontrar el tipo o el nombre de espacio de nombres ''IHTMLFormElement'' (¿falta una directiva de uso o una referencia de ensamblado?)

Error 3 No se pudo encontrar el tipo o el nombre del espacio de nombres ''IHTMLElementCollection'' (¿falta una directiva de uso o una referencia de ensamblado?)

Error 4 No se pudo encontrar el tipo o el nombre del espacio de nombres ''HTMLDocument'' (¿falta una directiva de uso o una referencia de ensamblado?)


Haga clic derecho en References en su proyecto en el Solution Explorer . Luego haga clic en Add Reference... En Assemblies escriba en la búsqueda ''HTML'' y verá Microsoft.mshtml . Agrega esto a tu proyecto y podrías usar HTMLDocument. Buena suerte


Microsoft.mshtml se encuentra en la pestaña COM del Administrador de referencias y se llama "Biblioteca de objetos HTML de Microsoft".