Não foi possível processar resx do arquivo por estar na Internet ou zona restrita ou ter a marca da web no arquivo

95

Estou enfrentando um problema ao depurar a codificação da API c # no Visual studio 2017. A depuração não foi iniciada e mostra uma mensagem de erro como

insira a descrição da imagem aqui

Alguma ideia sobre esta mensagem de erro?

Raju.Saravanan
fonte
12
Tente clicar com o botão direito do mouse no arquivo e selecionar Propriedades no Windows Explorer. Você tem opções na parte inferior da caixa de diálogo para desbloquear o arquivo?
Lasse V. Karlsen
Grande Lasse, agora a depuração está funcionando bem. Obrigado a você.
Raju.Saravanan
5
É "a marca da teia" a nova marca da besta?
Conrad de

Respostas:

154

Se você baixou o arquivo da Internet, separadamente ou dentro de um arquivo .zip ou similar, ele pode ter sido "bloqueado" porque está sinalizado como vindo da zona da Internet. Muitos programas usam isso como um sinal de que o conteúdo não é confiável.

A solução mais simples é clicar com o botão direito do mouse no arquivo no Windows Explorer, selecionar Propriedades e, ao longo da parte inferior desta caixa de diálogo, você deve ter a opção "Desbloquear". Lembre-se de clicar em OK para aceitar a alteração.

Se você obteve o arquivo de um arquivo, geralmente é melhor desbloquear o arquivo primeiro, se o arquivo for marcado como vindo da zona da Internet e você descompactá-lo, esse sinalizador pode se propagar para muitos dos arquivos que você acabou de desarquivar. Se você desbloquear primeiro, os arquivos desarquivados devem ficar bem.

Há também um comando Powershell para isso, Unblock-File :

> Unblock-File *

Além disso, existem maneiras de escrever código que também removerá o bloqueio.

Dos comentários de @ Defcon1: Você também pode combinar Unblock-Filecom Get-ChildItempara criar um pipeline que desbloqueia o arquivo recursivamente. Já Unblock-Fileque não tem como localizar arquivos recursivamente por si só, você deve usar Get-ChildItempara fazer essa parte.

> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Lasse V. Karlsen
fonte
1
Obrigado pela sua resposta elaborada.
Raju.Saravanan
1
Obrigado pela referência do PowerShell - muito útil ao lidar com muitos arquivos
scotru
Por que aquele comando Powershell foi tão difícil para mim encontrar? Obrigado! 👍
Neville
Corrigido meu problema. Obrigado
Mohamed Uvais M
14
Eu usei o arquivo de desbloqueio em modo recursivo:ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Defkon1
65
  1. Abra o explorador de arquivos. Navegue até o diretório do projeto / solução
  2. Pesquise * .resx. -> Você receberá uma lista de arquivos resx
  3. Clique com o botão direito no arquivo resx, abra as propriedades e marque a opção 'Desbloquear'
  4. Repita # 3 para cada arquivo resx.
  5. Recarregue o projeto.
Atul Sureka
fonte
10
Não há unblockopção.
dafie
1
A opção de desbloqueio aparecerá na região Atributos na parte inferior da guia Geral se o arquivo for bloqueado. Se não estiver bloqueado, a opção não aparecerá.
spadelives
1
Funcionou para mim! Ótima resposta!
Toby de
4
Para ser claro, isso está no explorador de arquivos e não no explorador de soluções do Visual Studio.
Ferus
Pode confirmar que este é o problema. Para elaborar o comentário de @Dafie: Se não houver caixa de seleção de desbloqueio, o arquivo já está desbloqueado. O problema é causado por um dos outros. Você verá que se a caixa de seleção estiver lá, você a marca e clica em "aplicar", a caixa de seleção desaparece completamente.
Sander Koldenhof
24

Nenhuma dessas respostas funcionou para mim, eu tive que fazer o seguinte:

  1. Menu Iniciar> digite 'Opções da Internet'.
  2. Selecione Zona da intranet local na guia Segurança e clique no botão Sites
  3. Clique no botão Avançado
  4. Digite o arquivo: // [nome do computador]
  5. Certifique-se de que ' Exigir verificação do servidor ... ' está desmarcado

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

Baddack
fonte
1
Adicionando file://domain.comfuncionou, obrigado! contexto: uma grande revisão do servidor moveu nossos arquivos para DFS; o domínio do Windows é domain.compara que agora residam os arquivos \\domain.com\...que podem ter causado o problema.
Kodítico de
Posso confirmar que esta solução resolveu meu problema de construir um .slncompartilhamento interno de rede em uma rede local. A mensagem de erro foi: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
Também posso confirmar que nada funcionou além disso. Eu adicionei o arquivo: // [nome do computador], bem como o IP de compartilhamento de rede de onde estava carregando o .sln (ex. Arquivo: //10.0.0.0). Estou usando o Windows 7 Enterprise 64 bits c / Internet Explorer versão 11.0.9600.19236 e Visual Studio 2019 Community Edition. Não é necessário reiniciar o Windows.
Marc
7

Complementando a resposta @ lasse-v-karlsen . Para desbloquear todos os arquivos recursivamente, execute o PowerShell como administrador dentro da pasta desejada:

gci -recurse | Unblock-File

link da fonte: Como desbloquear arquivos baixados da Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/

Márcio Antônio Slivak
fonte
Isso funcionou .. embora eu possa dizer que está ficando ridículo lá fora ... É uma pena que a segurança é tão insana ... não posso confiar na Internet ...
CA Martin
5

Embora esta seja uma pergunta mais antiga, passei várias horas rastreando uma maneira de lidar com esse erro quando ele se aplica a vários arquivos que estão localizados em subpastas em todo o projeto.

Para corrigir isso para todos os arquivos em um projeto , Visual Studio -> Ferramentas -> Opções -> Configurações de confiança e adicione o caminho do projeto como um caminho confiável.

Caminhos confiáveis ​​do Visual Studio

Cody J. Mathis
fonte
A única coisa que funcionou para mim, nenhuma das outras funcionou.
resgates
Este parece ser o caminho a percorrer, em vez de usar arbitrariamente o PowerShell para processar caminhos ...
CA Martin
5
  1. Encontre o caminho do registro de erros e abra o arquivo no explorer 2) selecione o arquivo e clique com o botão direito -> propriedades
  2. Em seguida, marque a opção 'desbloquear' e clique em aplicar insira a descrição da imagem aqui
maneesh
fonte
3

Eu tive esse problema em arquivos resx em minha solução. Estou usando o Onedrive. No entanto, nenhuma das soluções acima corrigiu isso.

O problema era que o ícone que usei estava nos arquivos MyWindow.resx das janelas.

Eu removi isso e peguei o ícone da pasta de recursos de recursos locais do aplicativo.

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

Isso aconteceu após uma atualização do VS2019.

John Jacobson
fonte
2

Se estiver usando o OneDrive ou qualquer unidade de rede semelhante, você tem 2 opções:

1) o mais fácil é mover a pasta para um diretório local dentro do seu PC (por exemplo: C :).

2) mas se você quiser continuar usando o OneDrive, recomendo adicioná-lo às opções de sites confiáveis ​​do Internet Explorer e isso resolverá o problema.

insira a descrição da imagem aqui

Carlos Gregorio
fonte
2

Solução: Edite e salve o arquivo!

No VisualStudio, vá para Exibir e expanda para ver seu arquivo resx

Clique com o botão direito no menu e selecione OpenWith ... XML (Text) Editor .

Basta adicionar um espaço no final e salvar.

profimedica
fonte
Também tentei de muitas outras maneiras e falhei. Presumo que haja uma verificação adicional recente
profimedica
1

Nenhuma das opções acima funcionou.

  • A opção "Desbloquear" não está presente nas propriedades do explorer.
  • Recriar o arquivo, adicionar pasta (e arquivo resx) em Ferramentas-> Opções-> Configurações de confiança não funciona.

A solução foi copiar o projeto localmente (da unidade de rede).

Vadim
fonte
1

Se, como eu, você seguiu diligentemente todas as soluções acima e o erro ainda está lá, tente fechar e reabrir o Visual Studio.

Óbvio, eu sei, mas talvez eu não seja o único que ficou com o cérebro confuso depois de ficar olhando para a tela de um computador o dia todo.

Ainda aprendendo
fonte
1

Nenhuma das opções acima funcionou para mim.

Isso aconteceu comigo depois que adicionei um novo botão a uma barra de ferramentas em um winform. Quando o botão usa a imagem padrão de System.Drawing.Bitmap(na propriedade da imagem) este erro surgiu para mim. Depois que eu mudei para uma imagem confiável (uma adicionada ao meu arquivo de recurso com a opção 'Desbloquear' marcada), este erro foi resolvido sozinho.

MX313
fonte
0

Me deparei com outra possível razão para esse erro. Se você usar links simbólicos NTFS em sua árvore de projeto e, provavelmente, unidades substituídas, poderá obter este erro mesmo se eles apontarem para sua unidade local. Se for esse o caso, tente evitar a situação em que os arquivos .resx são acessados ​​por meio de links simbólicos.

Michael Yutsis
fonte
Era isso. Eu introduzi um link simbólico para corrigir um erro de caminho de referência em algum código de um repo diferente que raramente uso. Remover o link simbólico e, em vez disso, hackear o csproj corrigiu o problema.
Christian,
0

Nenhuma das sugestões acima funcionou para mim, então criei um novo arquivo com um nome ligeiramente diferente e copiei o conteúdo do arquivo ofensivo para o novo arquivo, renomeei o arquivo ofensivo e renomeei o novo arquivo com o nome do arquivo ofensivo. Funcionou como um encanto. Problema resolvido.

vestido
fonte