Impossible de traiter le fichier resx en raison de sa présence sur Internet ou de la zone restreinte ou de la marque du site Web sur le fichier

89

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

entrez la description de l'image ici

Une idée de ce message d'erreur?

Raju.Saravanan
la source
12
Essayez de faire un clic droit sur le fichier et de sélectionner Propriétés, dans l'Explorateur Windowws. Avez-vous des options en bas de la boîte de dialogue pour déverrouiller le fichier?
Lasse V.Karlsen
Great Lasse, maintenant le débogage fonctionne très bien Merci à vous.
Raju.Saravanan
3
«La marque du Web» est-elle la nouvelle marque de la bête?
Conrad

Réponses:

146

Si vous avez téléchargé le fichier sur Internet, séparément ou dans un fichier .zip ou similaire, il a peut-être été «verrouillé» car il est signalé comme provenant de la zone Internet. De nombreux programmes utiliseront cela comme un signe que le contenu ne doit pas être approuvé.

La solution la plus simple consiste à cliquer avec le bouton droit sur le fichier dans l'Explorateur Windows, à sélectionner Propriétés, et en bas de cette boîte de dialogue, vous devriez avoir une 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 signalé comme provenant de la zone Internet et que vous le décompressez, cet indicateur peut se propager à de nombreux fichiers que vous venez de désarchiver. Si vous débloquez d'abord, les fichiers non archivés devraient bien se passer.

Il existe également une commande Powershell pour cela, Unblock-File :

> Unblock-File *

De plus, il existe des moyens d'écrire du code qui supprimera également le verrou.

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

> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Lasse V. Karlsen
la source
1
Merci pour votre réponse élaborée.
Raju.Saravanan
1
Merci pour la référence PowerShell - très utile lorsque vous traitez de nombreux fichiers
scotru
Pourquoi cette commande Powershell était-elle si difficile à trouver? Merci! 👍
Neville
Correction de mon problème. Merci
Mohamed Uvais M
14
J'ai utilisé Unblock-file en mode récursif:ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Defkon1
62
  1. Ouvrez l'explorateur de fichiers. Accédez au répertoire projet / solution
  2. Recherchez * .resx. -> Vous obtiendrez la liste des 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 # 3 pour chaque fichier resx.
  5. Rechargez le projet.
Atul Sureka
la source
10
Il n'y a pas d' unblockoption.
dafie
1
L'option de déblocage apparaîtra dans la région Attributs en bas de l'onglet Général si le fichier est bloqué. S'il n'est pas bloqué, l'option n'apparaît pas.
spadelives
1
A travaillé pour moi! Très bonne réponse!
Toby le
4
Pour être clair, cela se trouve dans l'explorateur de fichiers et non dans l'explorateur de solutions de Visual Studio.
Ferus
Peut confirmer que c'est le problème. Pour élaborer sur le commentaire de @ Dafie: S'il n'y a pas de case à cocher débloquer, le fichier est déjà débloqué. Le problème est causé par l'un des autres. Vous verrez que si la case à cocher est là, vous la cochez et cliquez sur "appliquer", la case à cocher disparaîtra complètement.
Sander Koldenhof
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 local dans l' onglet Sécurité, puis cliquez sur le bouton Sites
  3. Cliquez sur le bouton Avancé
  4. Entrez le fichier: // [nom de l'ordinateur]
  5. Assurez-vous que l' option " Exiger une vérification du serveur ... " est décochée

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

Baddack
la source
1
L'ajout a file://domain.comfonctionné, merci! contexte: une révision majeure du serveur a déplacé nos fichiers vers DFS; le domaine Windows est de domain.comsorte que les fichiers résident maintenant dans \\domain.com\...lesquels pourraient avoir déclenché le problème.
Kodithic
Je peux confirmer que cette solution résout mon problème pour créer un .slnpartage réseau à l'intérieur d'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.
Mar Tin
Je peux également confirmer que rien n'a fonctionné mais ceci. J'ai ajouté file: // [nom de l'ordinateur] ainsi que l'IP de partage réseau à partir de laquelle je chargeais le .sln (ex. File: //10.0.0.0). J'utilise Windows 7 Entreprise 64 bits avec Internet Explorer version 11.0.9600.19236 et Visual Studio 2019 Community Edition. Aucun redémarrage de Windows requis non plus.
Marc
6

En complément de la réponse @ lasse-v-karlsen . Pour débloquer tous les fichiers de manière récursive, exécutez à partir de PowerShell en tant qu'administrateur dans le dossier souhaité:

gci -recurse | Unblock-File

lien source: Comment débloquer des fichiers téléchargés sur Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/

Márcio Antônio Slivak
la source
4

Bien qu'il s'agisse d'une question plus ancienne, j'ai passé plusieurs heures à rechercher un moyen de gérer cette erreur lorsqu'elle s'applique à plusieurs fichiers situés dans des sous-dossiers tout au long du projet.

Pour résoudre ce problème pour tous les fichiers d'un projet , Visual Studio -> Outils -> Options -> Paramètres d'approbation et ajoutez le chemin du projet en tant que chemin approuvé.

Chemins de confiance de Visual Studio

Cody J. Mathis
la source
La seule chose qui a fonctionné pour moi, aucune des autres n'a fonctionné.
ransems
4
  1. Trouvez le chemin dans le journal des erreurs et ouvrez le fichier dans l'explorateur 2) sélectionnez le fichier et faites un clic droit -> propriétés
  2. Cochez ensuite l'option `` débloquer '' et cliquez sur appliquer entrez la description de l'image ici
maneesh
la source
2

Si vous utilisez OneDrive ou tout autre lecteur réseau similaire, vous avez 2 options:

1) le plus simple est de déplacer le dossier vers un répertoire local à l'intérieur de votre PC (par exemple :. C :).

2) mais si vous souhaitez continuer à utiliser OneDrive, je vous recommande de l'ajouter aux sites de confiance sur les options d'Internet Explorer et cela résoudra le problème.

entrez la description de l'image ici

Carlos Gregorio
la source
2

Solution: modifiez et enregistrez le fichier!

À partir de VisualStudio, accédez à la vue et développez pour voir son fichier resx

Dans le menu contextuel, sélectionnez OpenWith ... Editeur XML (texte) .

Ajoutez simplement un espace à la fin et économisez.

profimedica
la source
J'ai également essayé de nombreuses autres façons et j'ai échoué. Je suppose qu'il y a un contrôle supplémentaire récent
profimedica
2

J'ai eu ce problème sur les fichiers resx dans ma solution. J'utilise Onedrive. Cependant, aucune des solutions ci-dessus ne l'a résolu.

Le problème était que l'icône que j'ai utilisée se trouvait dans les fichiers MyWindow.resx pour les fenêtres.

J'ai supprimé cela, puis j'ai attrapé l'icône du dossier de ressources App Local Resources.

 private ResourceManager rm = App_LocalResources.LocalResources.ResourceManager;
 
 ..
 
InitializeComponent();
this.Icon = (Icon)rm.GetObject("IconName");

Cela s'est produit après une mise à jour de VS2019.

John Jacobson
la source
1

Aucun des éléments ci-dessus n'a fonctionné.

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

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

Vadim
la source
1

Si, comme moi, vous avez suivi avec diligence toutes les solutions ci-dessus et que l'erreur est toujours là, essayez de fermer et de rouvrir Visual Studio.

Évidemment, je sais, mais je ne suis peut-être pas le seul à avoir le cerveau flou après avoir regardé un écran d'ordinateur toute la journée.

Encore à apprendre
la source
1

Aucun de ces éléments n'a fonctionné pour moi.

Cela m'est arrivé après avoir ajouté un nouveau bouton à une barre d'outils sur un winform. Lorsque le bouton utilise l'image par défaut de System.Drawing.Bitmap(dans la propriété de l'image), cette erreur s'est produite pour moi. Après l'avoir changé en une image de confiance (une image ajoutée à mon fichier de ressources avec l'option «Déverrouiller» cochée), cette erreur s'est résolue d'elle-même.

MX313
la source
0

Je suis tombé sur une autre raison possible de cette erreur. Si vous utilisez des liens symboliques NTFS dans l'arborescence de votre projet et probablement des lecteurs de substitution, vous pouvez obtenir cette erreur même s'ils pointent vers votre lecteur local. Si tel est le cas, essayez d'éviter la situation où les fichiers .resx sont atteints via des liens symboliques.

Michael Yutsis
la source
C'était ça. J'avais introduit un lien symbolique pour corriger une erreur de chemin de référence dans du code d'un dépôt différent que j'utilise rarement. La suppression du lien symbolique et le piratage du csproj ont plutôt résolu le problème.
Christian
0

Aucune des suggestions ci-dessus n'a fonctionné pour moi, j'ai donc créé un nouveau fichier avec un nom légèrement différent et copié le contenu du fichier incriminé dans le nouveau fichier, renommé le fichier incriminé et renommé le nouveau fichier avec le nom du fichier incriminé. A travaillé comme un charme. Problème résolu.

robe de soirée
la source