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
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.
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:
Menu Iniciar> digite 'Opções da Internet'.
Selecione Zona da intranet local na guia Segurança e clique no botão Sites
Clique no botão Avançado
Digite o arquivo: // [nome do computador]
Certifique-se de que ' Exigir verificação do servidor ... ' está desmarcado
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:
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.
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.
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.
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.
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.
Respostas:
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 :
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-File
comGet-ChildItem
para criar um pipeline que desbloqueia o arquivo recursivamente. JáUnblock-File
que não tem como localizar arquivos recursivamente por si só, você deve usarGet-ChildItem
para fazer essa parte.> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
fonte
ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
fonte
unblock
opção.Nenhuma dessas respostas funcionou para mim, eu tive que fazer o seguinte:
Fonte: https://superuser.com/q/44503
fonte
file://domain.com
funcionou, obrigado! contexto: uma grande revisão do servidor moveu nossos arquivos para DFS; o domínio do Windows édomain.com
para que agora residam os arquivos\\domain.com\...
que podem ter causado o problema..sln
compartilhamento 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.
Complementando a resposta @ lasse-v-karlsen . Para desbloquear todos os arquivos recursivamente, execute o PowerShell como administrador dentro da pasta desejada:
link da fonte: Como desbloquear arquivos baixados da Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/
fonte
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.
fonte
fonte
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.
fonte
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.
fonte
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.
fonte
Nenhuma das opções acima funcionou.
A solução foi copiar o projeto localmente (da unidade de rede).
fonte
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.
fonte
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.fonte
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.
fonte
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.
fonte