2011-04-19 3 views
3

Je ne parviens pas à instancier la classe WebHttpBinding lorsque je référence les bibliothèques System.ServiceModel et System.ServiceModel.Web pour .NET 4.0. Je peux instancier la classe en référençant les bibliothèques 3.5. La documentation dit que WebHttpBinding est supporté en 4.0 alors qu'est-ce que je fais de mal?WebHttpBinding dans .NET 4.0?

new ChannelFactory<INotesService> 
(new WebHttpBinding(), 
new EndpointAddress("http://localhost:3380/Service.svc")) 

Lorsque j'appuie sur CTRL +. sur WebHttpBinding il ne trouve pas l'espace de noms pour cela.

http://msdn.microsoft.com/en-us/library/system.servicemodel.webhttpbinding.aspx

+0

Cochez l'option Cadre cible dans les propriétés du projet, êtes-vous sûr que l'infrastructure cible est .Net 4? –

Répondre

4

Oui, il est certainement dans .NET 4, et son espace de noms n'a pas été modifié ou quelque chose comme ça. Il est intéressant de noter qu'il a été déplacé de System.ServiceModel.Web.dll à System.ServiceModel.dll, le type étant transféré par type à partir de System.ServcieModel.Web.dll de façon perpétuelle. Donc, vous devriez être capable de faire passer n'importe quel projet 3.5 à 4.0 et de le faire fonctionner. Donc, votre projet devrait certainement fonctionner. Si le conseil sur le framework cible ne fonctionne pas, pouvez-vous coller les messages d'erreur que vous obtenez?

+0

Le projet n'a pas été configuré en tant que Target Framework .NET 4, ce qui est étrange car il s'agissait d'un projet VS 2010. Merci. –