J'utilise vs 2010 Ultimate. P>
J'essaie d'ajouter "shdocvw.dll" aux références de mon projet en cliquant avec le bouton droit de la souris sur références -> Ajouter une référence ... em>, puis cliquez sur Parcourir em> et de naviguer sur "C: \ windows \ system32 \ shdocvw.dll", mais quand je clique sur le bouton ajouter em> rien ne se passe du tout. La boîte de dialogue ne ferme pas même. P>
Une idée que puis-je me tromper? P>
J'ai essayé de redémarrer vs mais j'ai continué à avoir ce problème. P>
3 Réponses :
C'est une demande malheureusement commune que j'ai vue auparavant. P>
Vous ne pouvez pas l'ajouter comme une référence. Vous devez l'ajouter sous la forme d'un élément de boîte à outils, déposez-le dans un formulaire, puis de votre oncle de Bob ... P>
C'est une particularité! P>
Instructions complètes ici: http://www.codeproject.com/kb/miscctrl/ WebBrowserEx.aspx P>
Le problème est que OK, alors cela mendie la question, pourquoi voulez-vous ajouter une référence à Si, donc, si vous écrivez une application Formulaires Windows, vous devez utiliser le contrôle webForms Mais si pour une raison quelconque, vous souhaitez inclure le contrôle vous-même, au lieu d'utiliser la version "conserve", vous devez l'ajouter à la boîte à outils Visual Studio, comme décrit ici: P>
shdocvw.dll code> n'est pas un assemblage .NET, c'est à la fois une DLL Win32 normale et un contrôle ActiveX, mais pas un assemblage. Les seules choses que vous pouvez ajouter sous forme de références à un projet C # sont des assemblages .NET. P>
shdocvw.dll code> à un projet C #? Probablement parce que vous souhaitez utiliser l'interface ActiveX vers Internet Explorer pour inclure un navigateur Web dans votre application. P>
WebBrowser CODE>, et si vous écrivez une application WPF, vous devez utiliser le webrowser wpf
webbrowser < / code> contrôle. Voici les instructions pour les formulaires Windows: P>
Dans votre solution C #, si vous ajoutez une référence au composant COM nommé "Commandes Internet Microsoft Internet", vous devriez pouvoir accéder à l'espace de noms SHDOCVW à partir d'une application C # Console, sans avoir à faire quoi que ce soit inhabituel.
une fois Je l'ai fait (dans vs 2008), j'ai ensuite pu utiliser shdocvw.shellwindows, shdocvw.iwebrowser2, et ainsi de suite. Par exemple: p> EDIT: Lorsque vous utilisez VS 2012 / .NET 4.x, vous pouvez utiliser l'approche ci-dessous, pour contourner l'erreur "Type interopt 'shdocvw. Shellwindowsclass 'ne peut pas être intégré. " P> Pour plus d'informations sur le problème du VS 2012, consultez cette réponse: p>
J'ai finalement essayé cela et semble travailler. Ce serait la réponse réelle à ma question ... après 6 mois!
Cela ne fonctionne pas maintenant. :( J'utilise vs 2012 et cela a dit: Erreur 4 type interopt 'shdocvw.shellwindowsclass' ne peut pas être intégré. Utilisez l'interface applicable à la place.
JAYSON, merci pour l'information - j'ai mis à jour la réponse pour vs 2012.
Pas lié à cette réponse, mais je suis arrivé ici via votre message de blog à ce sujet. Vous voudrez peut-être mettre à jour le message du blog avec la solution VS2012 Correction Blog.nagwise .org / 2012/03 / ...
Y a-t-il au moins un moyen de le faire manuellement?