No se pudo procesar el archivo resx debido a que está en Internet o en una zona restringida o porque tiene la marca de la web en el archivo

89

Estoy enfrentando un problema al depurar la codificación de API de c # en Visual Studio 2017. La depuración no se inició y muestra un mensaje de error como

ingrese la descripción de la imagen aquí

¿Alguna idea sobre este mensaje de error?

Raju.Saravanan
fuente
12
Intente hacer clic con el botón derecho en el archivo y seleccionar Propiedades, en el Explorador de Windowws. ¿Tiene opciones en la parte inferior del cuadro de diálogo para desbloquear el archivo?
Lasse V. Karlsen
Genial Lasse, ahora la depuración funciona bien Gracias a ti.
Raju.Saravanan
3
¿Es "la marca de la red" la nueva Marca de la Bestia?
Conrad

Respuestas:

146

Si descargó el archivo de Internet, ya sea por separado o dentro de un archivo .zip o similar, es posible que se haya "bloqueado" porque está marcado como procedente de la zona de Internet. Muchos programas usarán esto como una señal de que no se debe confiar en el contenido.

La solución más simple es hacer clic con el botón derecho en el archivo en el Explorador de Windows, seleccionar Propiedades y, en la parte inferior de este cuadro de diálogo, debería tener la opción "Desbloquear". Recuerde hacer clic en Aceptar para aceptar el cambio.

Si obtuvo el archivo de un archivo, generalmente es mejor desbloquear el archivo primero, si el archivo está marcado como proveniente de la zona de Internet y lo descomprime, ese indicador podría propagarse a muchos de los archivos que acaba de desarchivar. Si desbloquea primero, los archivos no archivados deberían estar bien.

También hay un comando de Powershell para esto, Unblock-File :

> Unblock-File *

Además, hay formas de escribir código que también eliminarán el bloqueo.

De los comentarios de @ Defcon1: También puede combinar Unblock-Filecon Get-ChildItempara crear una canalización que desbloquea el archivo de forma recursiva. Dado que Unblock-Fileno tiene forma de encontrar archivos de forma recursiva por sí mismo, debe usar Get-ChildItempara hacer esa parte.

> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Lasse V. Karlsen
fuente
1
Gracias por su elaborada respuesta.
Raju.Saravanan
1
Gracias por la referencia de PowerShell - muy útil cuando se trata con muchos archivos
scotru
¿Por qué fue tan difícil para mí encontrar ese comando de Powershell? ¡Gracias! 👍
Neville
Solucionado mi problema. Gracias
Mohamed Uvais M
14
ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
Usé Unblock
62
  1. Abra el explorador de archivos. Navegar al directorio del proyecto / solución
  2. Busque * .resx. -> Obtendrá una lista de archivos resx
  3. Haga clic derecho en el archivo resx, abra las propiedades y marque la opción 'Desbloquear'
  4. Repita el # 3 para cada archivo resx.
  5. Vuelve a cargar el proyecto.
Atul Sureka
fuente
10
No hay unblockopción.
dafie
1
La opción de desbloqueo aparecería en la región Atributos en la parte inferior de la pestaña General si el archivo está bloqueado. Si no está bloqueado, la opción no aparece.
spadelives
1
¡Trabajó para mi! ¡Gran respuesta!
Toby
4
Para ser claros, esto está en el explorador de archivos y no en el explorador de soluciones de Visual Studio.
Ferus
Puedo confirmar que este es el problema. Para ampliar el comentario de @ Dafie: si no hay una casilla de verificación de desbloqueo, el archivo ya está desbloqueado. El problema es causado por uno de los otros. Verá que si la casilla de verificación está allí, la marca y presiona "Aplicar", la casilla de verificación desaparece por completo.
Sander Koldenhof
24

Ninguna de estas respuestas funcionó para mí, tuve que hacer lo siguiente:

  1. Menú Inicio> escriba 'Opciones de Internet'.
  2. Seleccione la zona de intranet local en la pestaña Seguridad y luego haga clic en el botón Sitios
  3. Haga clic en el botón Avanzado
  4. Ingrese archivo: // [nombre de la computadora]
  5. Asegúrese de que ' Requerir verificación del servidor ... ' no esté marcado

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

Baddack
fuente
1
Añadiendo file://domain.comfuncionado, ¡gracias! contexto: una revisión importante del servidor movió nuestros archivos a DFS; el dominio de Windows es domain.compor lo que ahora residen los archivos en los \\domain.com\...que podrían haber desencadenado el problema.
Kodithic
Puedo confirmar que esta solución resuelve mi problema para construir un .slnrecurso compartido de red dentro de una red local. El mensaje de error fue: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
También puedo confirmar que nada funcionó excepto esto. Agregué el archivo: // [nombre de la computadora], así como la IP compartida de red desde la que estaba cargando el .sln (por ejemplo, archivo: //10.0.0.0). Estoy usando Windows 7 Enterprise de 64 bits con Internet Explorer versión 11.0.9600.19236 y Visual Studio 2019 Community Edition. Tampoco es necesario reiniciar Windows.
Marc
4

Aunque esta es una pregunta anterior, pasé varias horas buscando una forma de manejar este error cuando se aplica a varios archivos que se encuentran en subcarpetas en todo el proyecto.

Para arreglar esto para todos los archivos dentro de un proyecto , Visual Studio -> Herramientas -> Opciones -> Configuración de confianza y agregue la ruta del proyecto como una ruta de confianza.

Rutas de confianza de Visual Studio

Cody J. Mathis
fuente
Lo único que funcionó para mí, ninguno de los otros funcionó.
ransems
4
  1. Busque la ruta del registro de errores y abra el archivo en el explorador 2) seleccione el archivo y haga clic derecho -> propiedades
  2. Luego marque la opción 'desbloquear' y haga clic en aplicar ingrese la descripción de la imagen aquí
maneesh
fuente
2

Si está utilizando OneDrive o cualquier unidad de red similar, tiene 2 opciones:

1) la más fácil es mover la carpeta a un directorio local dentro de su PC (por ejemplo:. C :).

2) pero si desea seguir usando OneDrive, le recomendaría agregarlo a los sitios confiables en las opciones del explorador de Internet y eso solucionará el problema.

ingrese la descripción de la imagen aquí

Carlos Gregorio
fuente
2

Solución: edite y guarde el archivo.

Desde VisualStudio, vaya a Ver y expanda para ver su archivo resx

En el menú contextual, seleccione OpenWith ... XML (Text) Editor .

Simplemente agregue un espacio al final y guarde.

profimedica
fuente
También intenté muchas otras formas y fallé. Supongo que hay una verificación adicional reciente
profimedica
2

Tuve este problema con los archivos resx en mi solución. Estoy usando Onedrive. Sin embargo, ninguna de las soluciones anteriores lo solucionó.

El problema fue que el icono que utilicé estaba en los archivos MyWindow.resx para Windows.

Lo eliminé y luego tomé el ícono de la carpeta de recursos de recursos locales de la aplicación.

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

Esto sucedió después de una actualización a VS2019.

John Jacobson
fuente
1

Ninguno de los anteriores funcionó.

  • La opción "Desbloquear" no está presente en las propiedades del explorador.
  • No funciona la recreación de archivos, la adición de carpetas (y archivos resx) a Herramientas-> Opciones-> Configuración de confianza.

La solución fue copiar el proyecto localmente (desde la unidad de red).

Vadim
fuente
1

Si, como yo, ha seguido diligentemente todas las soluciones anteriores y el error sigue ahí, intente cerrar y volver a abrir Visual Studio.

Es obvio, lo sé, pero tal vez no soy el único que se vuelve confuso después de mirar la pantalla de una computadora todo el día.

Aún aprendiendo
fuente
1

Ninguno de los anteriores funcionó para mí.

Esto me sucedió después de que agregué un nuevo botón a una barra de herramientas en un winform. Cuando el botón usa la imagen predeterminada de System.Drawing.Bitmap(en la propiedad de la imagen), surgió este error. Después de que lo cambié a una imagen confiable (una agregada a mi archivo de recursos con la opción 'Desbloquear' marcada), este error se resolvió solo.

MX313
fuente
0

Me encontré con otra posible razón de este error. Si usa enlaces simbólicos NTFS en el árbol de su proyecto, y probablemente unidades sustituidas, puede obtener este error incluso si apuntan a su unidad local. Si este es el caso, intente evitar la situación en la que se accede a los archivos .resx a través de enlaces simbólicos.

Michael Yutsis
fuente
Esto fue. Introduje un enlace simbólico para corregir un error de ruta de referencia en algún código de un repositorio diferente que rara vez uso. Eliminar el enlace simbólico y, en su lugar, piratear el csproj solucionó el problema.
Christian
0

Ninguna de las sugerencias anteriores funcionó para mí, así que creé un nuevo archivo con un nombre ligeramente diferente y copié el contenido del archivo ofensivo en el nuevo archivo, renombré el archivo ofensivo y renombré el nuevo archivo con el nombre del archivo ofensivo. Trabajado como un encanto. Problema resuelto.

Gesown
fuente