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
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.
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:
Menú Inicio> escriba 'Opciones de Internet'.
Seleccione la zona de intranet local en la pestaña Seguridad y luego haga clic en el botón Sitios
Haga clic en el botón Avanzado
Ingrese archivo: // [nombre de la computadora]
Asegúrese de que ' Requerir verificación del servidor ... ' no esté marcado
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
6
Complementando la respuesta de @ lasse-v-karlsen . Para desbloquear todos los archivos de forma recursiva, ejecute desde powershell como administrador dentro de la carpeta que desee:
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.
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.
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.
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.
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.
Respuestas:
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 :
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-File
conGet-ChildItem
para crear una canalización que desbloquea el archivo de forma recursiva. Dado queUnblock-File
no tiene forma de encontrar archivos de forma recursiva por sí mismo, debe usarGet-ChildItem
para hacer esa parte.> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
fuente
ps> Get-ChildItem -Path '<YOUR-SOLUTION-PATH>' -Recurse | Unblock-File
fuente
unblock
opción.Ninguna de estas respuestas funcionó para mí, tuve que hacer lo siguiente:
Fuente: https://superuser.com/q/44503
fuente
file://domain.com
funcionado, ¡gracias! contexto: una revisión importante del servidor movió nuestros archivos a DFS; el dominio de Windows esdomain.com
por lo que ahora residen los archivos en los\\domain.com\...
que podrían haber desencadenado el problema..sln
recurso 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.
Complementando la respuesta de @ lasse-v-karlsen . Para desbloquear todos los archivos de forma recursiva, ejecute desde powershell como administrador dentro de la carpeta que desee:
enlace de origen: ¿Cómo desbloquear archivos descargados de Internet? - Winhelponline
https://www.winhelponline.com/blog/bulk-unblock-files-downloaded-internet/
fuente
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.
fuente
fuente
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.
fuente
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.
fuente
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.
fuente
Ninguno de los anteriores funcionó.
La solución fue copiar el proyecto localmente (desde la unidad de red).
fuente
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.
fuente
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.fuente
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.
fuente
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.
fuente