Pergunta

Estou referenciando uma assembléia assinada. Em tempo de execução, não há problema em trabalhar com qualquer versão dessa montagem, não apenas a que eu compilei.

Como conseguir isso?

Foi útil?

Solução

Não, isso não vai funcionar. O CLR verificará o número da versão da montagem, esperando obter o que seu programa principal foi compilado. Você teria que usar o <bindingRedirect> elemento No arquivo app.config para convencê -lo de que uma versão diferente está bem.

Essa é uma ladeira escorregadia. Considere apenas alterar o atributo [AssemblyVersion] se a interface pública da montagem alterou e exigir que os clientes sejam recompilados. Agora, a exceção que você receberá é aquela que identifica um problema real. Esse é outro tipo de ladeira escorregadia, mas você terá muito mais controle.

Para comparação, é assim que todos os conjuntos de base no trabalho .NET Framework. Houve muitos Revisões deles entre .NET 2.0 RTM e 3.5 SP1, incluindo muitos hotfixes invisíveis. Mas o [AssemblyVersion] ainda é 2.0.0.0, a Microsoft apenas modifica o [AssemblyFileVersion].

Outras dicas

No IDE, verifique se a "versão específica" está definida como falsa contra a referência ou adicione <SpecificVersion>False</SpecificVersion> à referência no CSProj.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top