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
Alguma ideia sobre esta mensagem de erro?
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 :
> 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
com Get-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 usar Get-ChildItem
para fazer essa parte.
> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
unblock
opção.
Nenhuma dessas respostas funcionou para mim, eu tive que fazer o seguinte:
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:
gci -recurse | Unblock-File
link da fonte: Como desbloquear arquivos baixados da Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/
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.
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.
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.
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.
Nenhuma das opções acima funcionou.
A solução foi copiar o projeto localmente (da unidade de rede).
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.
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.
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.
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.