159 votes

Impossible de traiter le fichier resx parce qu'il se trouve dans une zone Internet ou une zone restreinte ou qu'il porte la marque du web.

Je suis confronté à un problème lors du débogage du codage de l'API c# dans Visual studio 2017. Le débogage n'a pas démarré et affiche un message d'erreur comme suit .

enter image description here

Une idée sur ce message d'erreur ?

18 votes

Essayez de cliquer avec le bouton droit de la souris sur le fichier et de sélectionner Propriétés, dans l'Explorateur Windows. Avez-vous des options en bas de la boîte de dialogue pour déverrouiller le fichier ?

0 votes

Super Lasse, maintenant le débogage fonctionne bien grâce à vous.

6 votes

La "marque du web" est-elle la nouvelle marque de la bête ?

260voto

Lasse V. Karlsen Points 148037

Si vous avez téléchargé le fichier depuis l'internet, soit séparément soit à l'intérieur d'un fichier .zip ou similaire, il peut avoir été "verrouillé" parce qu'il est signalé comme provenant de la zone internet. De nombreux programmes considèrent cela comme un signe qu'il ne faut pas faire confiance au contenu.

La solution la plus simple est de cliquer avec le bouton droit de la souris sur le fichier dans l'Explorateur Windows, de sélectionner Propriétés et, en bas de la boîte de dialogue, de choisir l'option "Débloquer". N'oubliez pas de cliquer sur OK pour accepter la modification.

Si vous avez obtenu le fichier à partir d'une archive, il est généralement préférable de débloquer d'abord l'archive. Si le fichier est marqué comme provenant de la zone Internet et que vous le décompressez, ce marquage peut se propager à plusieurs des fichiers que vous venez de désarchiver. Si vous débloquez d'abord, les fichiers désarchivés ne devraient pas poser de problème.

Il existe également une commande Powershell pour cela, Débloquer le fichier :

> Unblock-File *

En outre, il est possible d'écrire un code qui supprimera également le verrou.

D'après les commentaires de @Defcon1 : Vous pouvez également combiner Unblock-File con Get-ChildItem pour créer un pipeline qui débloque le fichier de manière récursive. Puisque Unblock-File n'a aucun moyen de trouver des fichiers récursivement par lui-même, vous devez utiliser Get-ChildItem pour faire cette partie.

> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File

1 votes

Merci pour votre réponse élaborée.

2 votes

Merci pour la référence PowerShell - très utile lorsque l'on traite un grand nombre de fichiers.

0 votes

Pourquoi ai-je eu tant de mal à trouver cette commande Powershell ? Merci !

92voto

Atul Sureka Points 690
  1. Ouvrez l'explorateur de fichiers. Naviguez vers le répertoire projet/solution
  2. Recherchez *.resx. --> Vous obtiendrez une liste de fichiers resx.
  3. Faites un clic droit sur le fichier resx, ouvrez les propriétés et cochez l'option "Débloquer".
  4. Répétez le point 3 pour chaque fichier resx.
  5. Rechargez le projet.

12 votes

Il n'y a pas unblock option.

1 votes

L'option de déblocage apparaît dans la région Attributs au bas de l'onglet Général si le fichier est en bloc. S'il n'est pas en bloc, l'option n'apparaît pas.

1 votes

Cela a marché pour moi ! Excellente réponse !

38voto

Baddack Points 24

Aucune de ces réponses n'a fonctionné pour moi, j'ai dû faire ce qui suit :

  1. Menu Démarrer > tapez "Options Internet".
  2. Sélectionnez Zone intranet locale sur le Sécurité puis cliquez sur l'onglet Sites bouton
  3. Cliquez sur Avancé bouton
  4. Entrez file:// [nom de l'ordinateur]
  5. Assurez-vous que ' Exiger une vérification du serveur... est décoché

Source : https://superuser.com/q/44503

1 votes

Ajout de file://domain.com ça a marché, merci ! contexte : Une refonte majeure du serveur a déplacé nos fichiers vers DFS ; le domaine Windows est domain.com Les fichiers se trouvent donc maintenant dans \\domain.com\... qui pourrait avoir déclenché le problème.

0 votes

Je peux confirmer que cette solution a résolu mon problème de construction d'un système de gestion de l'eau. .sln dans un partage réseau dans un réseau local. Le message d'erreur était : error MSB3821: Couldn't process file *.resx due to its being in the Internet or Restricted zone or having the mark of the web on the file. Remove the mark of the web if you want to process these files.

0 votes

Je peux aussi confirmer que rien n'a fonctionné à part ça. J'ai ajouté file://[nom de l'ordinateur] ainsi que l'adresse IP du partage réseau à partir duquel je chargeais le fichier .sln (ex. file://10.0.0.0). J'utilise Windows 7 Enterprise 64 bits avec Internet Explorer version 11.0.9600.19236 et Visual Studio 2019 Community Edition. Pas de redémarrage de Windows nécessaire non plus.

3voto

Yinon Dotan Points 107

Aucune des propositions ci-dessus n'a fonctionné pour moi
J'utilise Windows 10 - 64bit ET VS2017
Ce qui a marché, c'est de déplacer le dossier
en dehors du dossier Onedrive, dans c:\.

3voto

Vadim Points 13

Rien de ce qui précède n'a fonctionné.

  • L'option "Débloquer" n'est pas présente dans les propriétés de l'explorateur.
  • Recréer le fichier, ajouter le dossier (et le fichier resx) dans Outils->Options->Paramètres de confiance ne fonctionne pas.

La solution était de copier le projet localement (à partir du lecteur réseau).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X