Impossibile elaborare il resx del file perché si trova in Internet o in una zona con restrizioni o perché ha il marchio del web sul file


95

Sto riscontrando un problema durante il debug della codifica API c # in Visual Studio 2017. Il debug non è stato avviato e viene visualizzato un messaggio di errore come

inserisci qui la descrizione dell'immagine

Qualche idea su questo messaggio di errore?


12
Prova a fare clic con il pulsante destro del mouse sul file e seleziona Proprietà, in Windows Explorer. Sono disponibili opzioni nella parte inferiore della finestra di dialogo per sbloccare il file?
Lasse V. Karlsen

Ottimo Lasse, ora il debug funziona bene Grazie a te.
Raju.Saravanan

5
"The mark of the web" è il nuovo Mark of the Beast?
Conrad

Risposte:


154

Se hai scaricato il file da Internet, separatamente o all'interno di un file .zip o simile, potrebbe essere stato "bloccato" perché contrassegnato come proveniente dall'area Internet. Molti programmi lo useranno come segno che il contenuto non dovrebbe essere considerato attendibile.

La soluzione più semplice è fare clic con il pulsante destro del mouse sul file in Esplora risorse, selezionare Proprietà e lungo la parte inferiore di questa finestra di dialogo, dovresti avere un'opzione "Sblocca". Ricorda di fare clic su OK per accettare la modifica.

Se hai ottenuto il file da un archivio, di solito è meglio sbloccare prima l'archivio, se il file è contrassegnato come proveniente dalla zona Internet e lo decomprimi, quel flag potrebbe propagarsi a molti dei file che hai appena rimosso dall'archivio. Se sblocchi prima, i file non archiviati dovrebbero andare bene.

C'è anche un comando Powershell per questo, Unblock-File :

> Unblock-File *

Inoltre, ci sono modi per scrivere codice che rimuoverà anche il blocco.

Dai commenti di @ Defcon1: puoi anche combinarlo Unblock-Filecon Get-ChildItemper creare una pipeline che sblocca il file in modo ricorsivo. Dato che Unblock-Filenon ha modo di trovare i file in modo ricorsivo da solo, devi usare Get-ChildItemper fare quella parte.

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

1
Grazie per la tua risposta elaborata.
Raju.Saravanan

1
Grazie per il riferimento a PowerShell - molto utile quando si tratta di molti file
scotru

Perché è stato così difficile trovare quel comando Powershell? Grazie! 👍
Neville

Risolto il mio problema. Grazie
Mohamed Uvais M

14
Ho usato Unblock-file in modalità ricorsiva:ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Defkon1

65
  1. Apri Esplora file. Vai alla directory progetto / soluzione
  2. Cerca * .resx. -> Otterrai l'elenco dei file resx
  3. Fare clic con il pulsante destro del mouse sul file resx, aprire le proprietà e selezionare l'opzione 'Sblocca'
  4. Ripeti # 3 per ogni file resx.
  5. Ricarica il progetto.

10
Non ci sono unblockopzioni.
dafie

1
L'opzione di sblocco apparirà nell'area Attributi nella parte inferiore della scheda Generale se il file è bloccato. Se non è bloccata, l'opzione non viene visualizzata.
spadelives

1
Ha funzionato per me! Bella risposta!
Toby

4
Per essere chiari, questo è in Esplora file e non in Esplora soluzioni di Visual Studio.
Ferus

Posso confermare che questo è il problema. Per approfondire il commento di @ Dafie: se non c'è una casella di controllo per sbloccare, il file è già sbloccato. Il problema è causato da uno degli altri. Vedrai che se la casella di controllo è presente, la selezioni e premi "applica", la casella di controllo scompare del tutto.
Sander Koldenhof

24

Nessuna di queste risposte ha funzionato per me, ho dovuto fare quanto segue:

  1. Menu Start> digita "Opzioni Internet".
  2. Seleziona Area Intranet locale nella scheda Protezione, quindi fai clic su Siti pulsante
  3. Fare clic sul pulsante Avanzate
  4. Inserisci file: // [nome computer]
  5. Assicurati che " Richiedi verifica server ... " non sia selezionato

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


1
L'aggiunta ha file://domain.comfunzionato, grazie! contesto: la revisione principale del server ha spostato i nostri file in DFS; il dominio Windows è domain.comcosì che ora risiedono i file in \\domain.com\...cui potrebbe aver innescato il problema.
Kodithic

Posso confermare che questa soluzione risolve il mio problema per creare una .slncondivisione di rete all'interno di una rete locale. Il messaggio di errore era: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

Posso anche confermare che nulla ha funzionato, ma questo. Ho aggiunto il file: // [nome computer] e l'IP di condivisione di rete da cui stavo caricando .sln (es. File: //10.0.0.0). Utilizzo Windows 7 Enterprise a 64 bit con Internet Explorer versione 11.0.9600.19236 e Visual Studio 2019 Community Edition. Nessun riavvio di Windows richiesto neanche.
Marc

7

Completando la risposta di @ lasse-v-karlsen . Per sbloccare tutti i file in modo ricorsivo, esegui da PowerShell come amministratore all'interno della cartella che desideri:

gci -recurse | Unblock-File

collegamento alla fonte: Come sbloccare i file scaricati da Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/


Ha funzionato ... anche se posso dire che sta diventando ridicolo là fuori ... È un peccato che la sicurezza sia così folle ... non posso fidarmi affatto di Internet ...
CA Martin

5

Sebbene questa sia una domanda più vecchia, ho trascorso diverse ore a cercare un modo per gestire questo errore quando si applica a più file che si trovano nelle sottocartelle durante il progetto.

Per risolvere questo problema per tutti i file all'interno di un progetto , Visual Studio -> Strumenti -> Opzioni -> Impostazioni di attendibilità e aggiungi il percorso del progetto come percorso attendibile.

Percorsi attendibili di Visual Studio


L'unica cosa che ha funzionato per me, nessuno degli altri ha funzionato.
riscatta

Questa sembra la strada da percorrere, invece di utilizzare arbitrariamente PowerShell per elaborare i percorsi ...
CA Martin

5
  1. Trova il percorso dal registro degli errori e apri il file in explorer 2) seleziona il file e fai clic con il pulsante destro del mouse -> proprietà
  2. Quindi seleziona l'opzione "sblocca" e fai clic su Applica inserisci qui la descrizione dell'immagine

3

Ho avuto questo problema con i file resx nella mia soluzione. Sto usando Onedrive. Tuttavia nessuna delle soluzioni di cui sopra lo ha risolto.

Il problema era che l'icona che ho usato era nei file MyWindow.resx per Windows.

L'ho rimosso, quindi ho afferrato l'icona dalla cartella delle risorse delle risorse locali dell'app.

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

Questo è successo dopo un aggiornamento a VS2019.


2

Se utilizzi OneDrive o un'unità di rete simile, hai 2 opzioni:

1) quello più semplice è spostare la cartella in una directory locale all'interno del PC (es :. C :).

2) ma se vuoi continuare a utilizzare OneDrive ti consiglio di aggiungerlo ai siti attendibili nelle opzioni di Internet Explorer e questo risolverà il problema.

inserisci qui la descrizione dell'immagine


2

Soluzione: modifica e salva il file!

Da VisualStudio vai su Visualizza ed espandi per vedere il suo file resx

Menu di scelta rapida selezionare Apri con ... Editor XML (testo) .

Basta aggiungere uno spazio alla fine e salvare.


Ho anche provato molti altri modi e ho fallito. Presumo che ci sia un recente controllo aggiuntivo
profimedica

1

Nessuno dei precedenti ha funzionato.

  • L'opzione "Sblocca" non è presente nelle proprietà dell'esploratore.
  • Ricreare file, aggiungere cartella (e file resx) a Strumenti-> Opzioni-> Impostazioni di fiducia non funziona.

La soluzione era copiare il progetto localmente (dall'unità di rete).


1

Se, come me, hai seguito diligentemente tutte le soluzioni di cui sopra e l'errore è ancora presente, prova a chiudere e riaprire Visual Studio.

Ovvio, lo so, ma forse non sono l'unico ad avere il cervello confuso dopo aver fissato lo schermo di un computer tutto il giorno.


1

Nessuno dei precedenti ha funzionato per me.

Questo è successo a me dopo aver aggiunto un nuovo pulsante a una barra degli strumenti su un winform. Quando il pulsante utilizza l'immagine predefinita di System.Drawing.Bitmap(nella proprietà dell'immagine) questo errore si è verificato per me. Dopo averlo cambiato in un'immagine attendibile (una aggiunta al mio file di risorse con l'opzione "Sblocca" selezionata), questo errore si è risolto da solo.


0

Mi sono imbattuto in un'altra possibile ragione di questo errore. Se si utilizzano collegamenti simbolici NTFS nella struttura del progetto e probabilmente unità sostituite, è possibile che venga visualizzato questo errore anche se puntano all'unità locale. In questo caso, cerca di evitare la situazione in cui i file .resx vengono raggiunti tramite collegamenti simbolici.


Era questo. Avevo introdotto un collegamento simbolico per correggere un errore del percorso di riferimento in un codice da un repository diverso che uso raramente. La rimozione del collegamento simbolico e invece l'hacking di csproj ha risolto il problema.
Christian

0

Nessuno dei suggerimenti sopra ha funzionato per me, quindi ho creato un nuovo file con un nome leggermente diverso e ho copiato il contenuto del file offensivo nel nuovo file, rinominato il file offensivo e rinominato il nuovo file con il nome del file offensivo. Ha funzionato come un fascino. Problema risolto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.