visual studio - mvvmlightlibs - Desbloqueo de un DLL en una máquina de la empresa. ¿Cómo?
mvvm light uwp (6)
Estoy tratando de probar MVVMLight pero las DLL que vienen con él están BLOQUEADAS. He leído sobre esto y me dicen que haga clic en DESBLOQUEAR en la propiedad del archivo ... pero eso no existe para mí ... Luego descubrí un programa llamado STREAMS que se supone que debo desbloquear ... que no funcionó ... Otra idea de como arreglar esto?
Error 7
No se pudo cargar el archivo de ensamblaje: /// C: / MIX10-MVVM-Samples / Mix10.MvvmDemo2 - End / Mix10.MvvmDemo2 / Bin / Debug / GalaSoft.MvvmLight.Extras.SL4.dll
. Este ensamblaje puede haber sido descargado de la Web. Si se ha descargado un ensamblaje de la Web, Windows lo marca como un archivo web, incluso si reside en el equipo local. Esto puede evitar que se utilice en su proyecto. Puede cambiar esta designación cambiando las propiedades del archivo. Solo desbloquea los ensamblajes en los que confías. Consulte http://go.microsoft.com/fwlink/?LinkId=179545 para obtener más información. Mix10.MvvmDemo2
Desbloquee primero el archivo zip y luego extraiga los archivos DLL. En realidad eso es lo que ellos instruyen hacer here .
El archivo contiene un flujo de datos alternativo que indica que el contenido se recuperó de Internet y no es seguro. Esta es una característica del sistema de archivos NTFS, que lamentablemente está bien oculta porque Explorer no tiene soporte para mostrar su contenido. Puede verlos desde el símbolo del sistema con la opción de comando DIR / R. Y escriba su contenido con el nombre de archivo TIPO: nombre de secuencia. Y elimínelos con BORRAR nombre de archivo: streamname
Otro truco es copiar el archivo en un sistema de archivos que no admita flujos de datos alternativos, que los corte fuera del archivo. Una unidad flash, por ejemplo. O una utilidad de zip.
Las versiones posteriores de Windows, creo que comenzando con Win7, tienen soporte incorporado para esto en Explorer. Haga clic derecho en el archivo, Propiedades y haga clic en "Desbloquear".
Sólo para la comprensión general. NTFS admite secuencias (consulte http://msdn.microsoft.com/en-us/library/aa364404%28VS.85%29.aspx ). El nombre completo de una secuencia es filename: stream_name: stream_type . Así que uno puede escribir fácilmente información adicional acerca de un archivo en una secuencia adicional de archivos. Si descarga un archivo de Internet, Internet Explorer escribe información simple en una secuencia con el nombre Zone.Identifier
. Si tiene un archivo test.dll descargado de Internet, puede usar
more < test.dll:Zone.Identifier
Para ver información de la transmisión. Verás algo como
[ZoneTransfer]
ZoneId=3
Desbloquear no es mucho más que eliminar esta secuencia. Le recomiendo leer http://weblogs.asp.net/dixin/archive/2009/03/14/understanding-the-internet-file-blocking-and-unblocking.aspx para obtener más información detallada
Si ayuda a alguien, bajé dos archivos DLL bloqueados de TFS.
Mi solución:
- Dentro del Explorador de Windows, elimine las dos DLL bloqueadas.
- Dentro de TFS, realice una operación de ''Obtener versión específica'' en la carpeta y asegúrese de que ''Sobrescribir todos los archivos, incluso si la versión local coincide con la versión especificada'', esté marcada para que pueda extraer copias nuevas de los archivos DLL eliminados.
- Reconstruye tu solución.
Simplemente abrí el archivo dll en notepad ++ y lo guardé con un nombre diferente.
SysInternals tiene una gran utilidad de línea de comandos llamada Streams . Esto resultó muy útil para mí.
Streams v1.56 - Enumerar streams de datos NTFS alternativos Copyright (C) 1999-2007 Mark Russinovich Sysinternals - www.sysinternals.com
uso: secuencias [-s] [-d] <archivo o directorio>
-s recurse subdirectories
-d Eliminar streams
Ejecute el siguiente comando en el directorio donde desea eliminar las transmisiones (el mismo efecto que al copiar en una unidad USB / FAT32 )