Mettre à jour la référence de service ne fonctionne pas
Je suis à l'aide de Visual Studio 2008 et ont un WCF client à l'encontre d'un service WCF. Ils sont tous deux situés dans la même solution Visual Studio. Après j'ai fait un changement dans mon WCF contrat, je veux mettre à jour la référence de service sur le client, de sorte que les modifications apportées au contrat est également faite dans le proxy.
Mon problème est que le code proxy n'est pas re-généré.
Quand j'sélectionnez mettre à jour le service de référence, les actions suivantes se produisent:
- Un dialogue avec le titre "mise à Jour du service de référence" nom de la référence "" est affichée. Cette boîte de dialogue a une barre de progression.
- La barre de progression se déplace et le statut du texte dans la boîte de dialogue est changé à "mise à Jour de la configuration"
- La progressbar bouge un peu plus, et le statut du texte est chnaged à "Configuration de la mise à jour terminée"
La boîte de dialogue n'affiche pas le texte "Génération \quelque chose\" (ne me souviens pas le libellé exact) qui, je le expedct.
Si je supprime la référence de service et l'ajouter à nouveau, le proxy est correctement généré. J'ai ajouter le service en utilisant exactement les mêmes réglages qu'avant, donc je ne pense pas que c'est une question que je peux résoudre en changeant le service de référence de la configuration sur le client.
Une chose que je soupçonne peut-être le problème, c'est que j'ai renommé le défaut wsHttpBindings dans l'app.config. J'ai aussi renommé les points de terminaison par défaut. La raison derrière cela est que j'ai besoin de plus d'un point de terminaison et d'avoir un nommé "certains-par défaut-nom" et un avec mon propre nom est juste déroutant.
Le problème avec la suppression du service et de l'ajouter de nouveau, c'est que Visual Studio ajoute une nouvelle liaison dans l'app.config (entre autres choses) qui ne devraient pas y être.
Personne vu ce problème avant? Quelqu'un connaît une solution à cela?
source d'informationauteur Nitramk
Vous devez vous connecter pour publier un commentaire.
Lorsque nous avons eu ce problème, il a généralement été un de ces erreurs:
J'ai rencontré ce problème avec les conditions suivantes:
Le seul moyen que j'ai trouvé comment contourner ce problème est de modifier la configuration.svcinfo fichier pour que le service de référence (vous aurez besoin d'afficher tous les fichiers pour le projet de la voir dans visual studio), recherchez la section suivante:
et modifier l'utilisateur à mon propre nom de domaine de l'utilisateur. Après avoir enregistré le fichier, je n'ai pas de difficultés pour mettre à jour la référence jusqu'à ce qu'un autre développeur mises à jour de la référence de service (probablement à l'aide de la solution est la même). Malheureusement, je n'ai pas été en mesure de trouver une solution permanente à ce problème.
Dans mon cas, le problème était que la précédente développeur a ajouté le service de référence à l'aide de son nom de machine plutôt que de localhost. Alors, quand j'ai dit à Visual Studio pour mettre à jour, il connecté à sa machine, qui n'ont pas les changements. J'ai modifié le service de référence de fichiers et remplacer son nom de machine avec localhost et il a été en mesure de mettre à jour la référence.
Mon erreur est que j'ai oublié d'ajouter le OperationContract attribut.
Mon problème était que j'avais deux méthodes avec le même nom. Tout bâti très bien, mais je ne pouvais pas le service de mise à jour de référence. Quand j'ai essayé de commencer un peu le service WCF, l'erreur s'affiche.
Mettez en surbrillance le service que le projet actif, la touche F5 pour exécuter dans VisualStudio, il va démarrer dans le service d'application de test. Arrêter le débogage. Ensuite, essayez de mettre à jour votre service de référence a fonctionné pour moi.
Deux étapes faciles à résoudre que:
Exécuter le Service, puis l'arrêter.
Service de mise à jour de référence.
J'ai eu ce problème aussi. Supprimé la référence de service et recréé à nouveau.
Je sais que cette solution est un peu tard, mais après avoir posté des solutions, sans succès, cela a fonctionné:
Lorsque vous créez un WebService, il génère un .fichier dll que vous faites référence à votre service de référence. C' .dll est (comme la plupart le savent) pas recréé à chaque fois que vous apportez des modifications à la .SVC fichier. Vous pouvez voir si vous aller voir la date de modification de la propriété du service web .dll fichier, dans mon cas, il était trois heures!
Ma solution a été de faire les changements nécessaires pour le service de contact, l'enregistrer, et de re-construire le projet qui va l'amener à recréer tous les .dll reflétant les modifications apportées au contact avec les services de fichier (.svc).
Après cela, mettez à jour la référence de service sur l'application cliente, et les changements sont évidents.
J'ai eu le même problème. Modifié certains contrats de données. Essayé de mettre à Jour une Référence de Service" et ne pas voir le changement. Supprimé et re-ajouté le service. N'a toujours pas voir le changement lors de l'écriture de code dans le client. L'ouverture de mon client avec Réflecteur et vu les types de service eu le changement! Alors, pourquoi est-intellisense affiche toujours le vieux propriétés? Redémarrage de Visual Studio et les modifications s'est finalement montré dans intellisense.
J'ai eu le même problème, il m'a été causé par GIT Merge Conflit, il me manquait le code suivant à partir de mon fichier csproj
J'ai ajouté ce onder de la ligne de Référence.svcmap
Une autre solution pour ce genre de problèmes est que si votre obtenir des espaces de noms mélangées dans des projets référencés que les deux consommer le service. Donc:
ProjectA - Consomme ServiceA
Projetb - Consomme ServiceA, la Référence à ProjectA
Si vous modifiez ServiceA et mise à jour Projetb, parfois, les espaces de noms peuvent changer à regarder ProjectA de la version du service.