Esto funcionó por completo para mí. NOTA: Necesita NO espacio de nombres en la etiqueta configuration
. Y usted DEBE tener un espacio de nombre en su etiqueta assemblyBinding
.
<assemblyBinding> Element for <runtime>
<!-- important: no namespace -->
<configuration>
<runtime>
<!-- important, must have this namespace -->
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Strongly.Named.Assembly" publicKeyToken="xxx" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
hacer ambas o de lo contrario no lo leerá. Si está dando un error de que no puede cargar nada más que 2.0.0.0 en este ejemplo, entonces no está recogiendo los elementos de configuración correctamente.
Esto también solo funciona en conjuntos fuertemente nombrados.Para saber si algo se llama fuertemente ejecute el siguiente comando desde la ventana de comandos VC
abierta (menú Inicio> Todos los programas> Visual Studio> Visual Studio Tools> símbolo del sistema de Visual Studio)
A continuación, ejecute:
sn -vf "path-to-assembly.dll"
Si devuelve que es válido, entonces tiene un nombre fuerte.
fuente: http://blog.codingoutloud.com/2010/03/13/three-ways-to-tell-whether-an-assembly-dl-is-strong-named/
lo hice exactamente lo mismo. Pero sin suerte. Al compilar el proyecto en ide sí mismo dando error diciendo "¿te falta Assemblyreference a.dll 3.1.1.0 – Suresh
La etiqueta de configuración no contiene el atributo xmlns. No Luck – Suresh
Funcionó de mi lado, gracias. Mi pregunta es ¿por qué funciona cuando el El atributo xmlns se eliminó? – csg