web-dev-qa-db-fra.com

Impossible d'ajouter une référence de service - verrouillé / lecture seule

Chaque fois que je vais ajouter une référence de service, j'obtiens l'erreur:

Échec de l'ajout de la référence de service "Servicereference1.reference"
Erreur: impossible d'extraire le fichier actuel. Le fichier peut être en lecture seule ou verrouillé, ou vous devrez peut-être extraire le fichier manuellement.

J'avais déjà une référence de service dans le projet, mais il s'est cassé d'une manière ou d'une autre et m'a donné une erreur qui disait:

Impossible de trouver l'élément de noeud final par défaut qui fait référence au contrat (nom du service)

Les points de terminaison dans le web.config et la configuration de référence de service étaient les mêmes (localhost)

Je ne pouvais pas non plus mettre à jour cette référence car j'obtiendrais la même erreur "impossible de vérifier le fichier actuel".

EDIT: Le problème ne vient pas uniquement de ce projet. J'ai essayé de créer un nouveau projet totalement séparé et d'y ajouter une référence de service et j'ai eu la même erreur.

43
user2084666

J'ai eu la même erreur - ce que j'ai trouvé, c'est qu'il y a des problèmes si vous avez sélectionné le plugin de contrôle de source "Microsoft Git provider" (ma solution WCF n'était pas ajoutée au contrôle de source!) Et que vous essayez de ajouter une référence de service.

  1. définissez le plugin de contrôle de source sur Aucun
    • allez dans OUTILS> Options> Contrôle de source.
  2. ajouter une référence de service
  3. définir le plugin de contrôle de source à la valeur d'origine
73
Prokurors

Je sais que cela a été répondu, mais avant d'essayer tout le reste dans les réponses, redémarrez Visual Studio. Cela m'est arrivé à moi et à 4 autres personnes dans ma classe WCF. Semble être un problème avec Visual Studio 2013 et non 2012.

27
Tascalator

Comme vous l'avez déjà effacé, aucun contrôle de code source n'est impliqué (ce qui me semble être un problème), vous pouvez essayer ces étapes:

  1. Assurez-vous que si vous copiez-collez à partir de l'emplacement où se trouvait le contrôle de code source, puis supprimez les fichiers spécifiques au contrôle de code source.

  2. Assurez-vous que le dossier n'est pas verrouillé et n'est pas en lecture seule. Si tel est le cas, supprimez la lecture seule du dossier.

  3. Assurez-vous que Visual Studio n'est pas en mode débogage lors de l'ajout d'une référence.

  4. Si ci-dessus ne fonctionne pas, fermez Visual Studio et redémarrez-le.

  5. Assurez-vous que Visual Studio est démarré en tant que "Exécuter en tant qu'administrateur".

  6. Enfin, si tout ce qui précède ne fonctionne pas, essayez de redémarrer la machine.

Faites-moi savoir si cela fonctionne ou non.

11
Pranav Singh

C'est peut-être un peu tard, mais si quelqu'un a le même problème, je l'ai résolu en exécutant VS2013 en tant qu'administrateur.

7
user4727614

Allez dans le menu Déboguer et cliquez sur ( Options et paramètres )

debug

Sélectionnez Contrôle de source .

Sous Source actuelle liste déroulante ControlPlug-in sélectionnez aucune

none

Cliquez ensuite sur ok pour enregistrer les modifications, vous pouvez maintenant ajouter une référence de service.

1
Umang Patwa

Assurez-vous que votre dossier dans IIS où vos services ont mis (je veux dire le fichier physique; .svc) n'est pas ouvert ou même sélectionné dans le gestionnaire de fichiers. Il fonctionne pour moi, mais avant j'y suis presque allé fou de trouver une erreur.

0
melanchiloa

Fermer votre contrôle de source par défaut pour ajouter une référence est horrible. @ScottG a dit ci-dessus, et fonctionne .. il suffit de démarrer VS en tant qu'administrateur - cela fonctionne, et vous n'avez pas à jouer avec votre environnement. VS 2013 UP-5 a toujours ce problème.

0
TravisWhidden

Il semble que certains fichiers de Visual studio soient corrompus. Essayez de supprimer complètement la référence, puis générez la référence à l'aide de svcutil {http: // {service}/metadataEndpoint} (je suppose que c'est WCF) ou (utilisez wsdl.exe pour les services Web), puis obtenez le proxy client et placez-le dans le projet pour l'utiliser. Voyez si cela fonctionne bien.

0
Avneesh

Vérifiez si vos fichiers sont en lecture seule, si oui, supprimez l'attribut en lecture seule et redémarrez Visual Studio et essayez d'ajouter une référence de service. ça a fonctionné pour moi comme ça.

0
Shabaz