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
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.
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:
Menu Démarrer> tapez «Options Internet».
Sélectionnez Zone intranet local dans l' onglet Sécurité, puis cliquez sur le bouton Sites
Cliquez sur le bouton Avancé
Entrez le fichier: // [nom de l'ordinateur]
Assurez-vous que l' option " Exiger une vérification du serveur ... " est décochée
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é:
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é.
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.
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.
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.
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.
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.
Réponses:
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 :
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-File
avecGet-ChildItem
pour créer un pipeline qui débloque le fichier de manière récursive. CommeUnblock-File
il n'y a aucun moyen de trouver des fichiers de manière récursive par lui-même, vous devez utiliserGet-ChildItem
pour faire cette partie.> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
la source
ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
la source
unblock
option.Aucune de ces réponses n'a fonctionné pour moi, j'ai dû faire ce qui suit:
Source: https://superuser.com/q/44503
la source
file://domain.com
fonctionné, merci! contexte: une révision majeure du serveur a déplacé nos fichiers vers DFS; le domaine Windows est dedomain.com
sorte que les fichiers résident maintenant dans\\domain.com\...
lesquels pourraient avoir déclenché le problème..sln
partage 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.
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é:
lien source: Comment débloquer des fichiers téléchargés sur Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/
la source
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é.
la source
la source
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.
la source
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.
la source
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.
la source
Aucun des éléments ci-dessus n'a fonctionné.
La solution était de copier le projet localement (à partir du lecteur réseau).
la source
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.
la source
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.la source
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.
la source
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.
la source