Ich möchte eine WebBrowser
Komponente in einem .NET Compact Framework 3.5-Projekt verwenden. Ich bin mit widersprüchlichen Informationen darüber konfrontiert.Webbrowser in kompaktem Framework
Wenn ich versuche einfach, es zu benutzen, erhalte ich die folgende Ausnahme:
System.Threading.ThreadStateException: ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment.
at System.Windows.Forms.WebBrowserBase..ctor(String clsidString)
at System.Windows.Forms.WebBrowser..ctor()
at dce.pd.dialogmgr.baseimpl.DialogDeviceImpl.createGui(XmlElement pDialogManagerNode) in C:\sourceview\CS.NETCF.2008\dce\pd\dialogmgr\baseimpl\DialogDeviceImpl.cs:line 362
at dce.pd.dialogmgr.baseimpl.DialogDeviceImpl.init() in C:\sourceview\CS.NETCF.2008\dce\pd\dialogmgr\baseimpl\DialogDeviceImpl.cs:line 118
at dce.pd.dialogmgr.thinimpl.ThinClient.createDeviceImpl() in C:\sourceview\CS.NETCF.2008\dce\pd\dialogmgr\thinimpl\ThinClient.cs:line 82
at dce.pd.dialogmgr.thinimpl.ThinClient.init() in C:\sourceview\CS.NETCF.2008\dce\pd\dialogmgr\thinimpl\ThinClient.cs:line 87
at dce.pd.dialogmgr.thinimpl.ThinClient.form_Load(Object sender, EventArgs e) in C:\sourceview\CS.NETCF.2008\dce\pd\dialogmgr\thinimpl\ThinClient.cs:line 66
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Für mich das klingt wie ich die [STAThread]
Richtlinie meine Main
Methode zu setzen haben.
[STAThread]
static void Main()
{
...
}
Aber das funktioniert auch nicht, weil the [STAThread] option is not available in compact framework.. Also, die Anwendung wird jetzt nicht einmal kompilieren.
Dennoch, nach Microsoft's documentation, ist die WebBrowser
Komponenten für kompakte Rahmenprojekt verfügbar. Es gibt sogar einige Beispiele. (Leider wird der vollständige Code nicht zur Verfügung gestellt).
Also, was fehlt mir?
Woran entwickeln Sie dieses Projekt? Als ich das [WebBrowser Control] (https://msdn.microsoft.com/en-us/library/aa752040.aspx) verwendet habe, habe ich in Visual Studio 2008 entwickelt. VS2010 und neuere Versionen haben keine Unterstützung für .Net CF . – jp2code
es ist in Visual Studio 2008, mit kompaktem Framework 3.5 – bvdb