Se eu não o fiz errado, fiz o mesmo com os DDLs de relatório estimsoft que eu tinha a última versão instalada, mas eu queria 2010.3 na minha aplicação. Mas não através do arquivo de configuração e redirecionamento: Eu simplesmente removeu a referência do explorador de solução e adicionou o antigo refrence DLL, em seguida, eu definir a propriedade cópia Local e recompilado para que a DLL iria com o aplicativo em um mesmo diretório, tudo funciona bem. Também fez isso com outras dlls também. Respondeu 8 de agosto 13 às 8:08 Esse valor pode especificar uma versão anterior ao OldVersion. Referindo-se ao atributo newVersion de bindingRedirect. Também na seção Comentários: Você também pode redirecionar de uma versão mais recente para uma versão mais antiga da montagem. Suzanne, Eu construí uma biblioteca inteligente de proxy de Serviços da Web que gera proxies WS em tempo de execução. E implementei um mecanismo de cache básico no qual eu armazeno essas montagens no disco. Para nomear aqueles que escolhi para dar-lhes o nome do URDN codificado WSDL URL. Mas quando tento carregar a montagem a partir do disco (LoadFrom) recebo um erro 8211, a propriedade CodeBase não pôde ser configurada. Quando eu escolho usar um valor hash MD5 do URL tudo está bem 8230 Qualquer insights aqui Obrigado e cheers, Christian A chamada LoadFrom () está lançando uma exceção, então Qual foi o tipo da exceção e sua mensagem Até agora, soa Como um problema de nome inválido 8211 qual era o nome de assembly exato eo URL passado para LoadFrom () Vamos dizer que eu tenho uma montagem que lê em configurações de configuração de um arquivo de configuração e cópia de sombra é habilitado. A classe que usa o arquivo de configuração assume que o arquivo está no mesmo diretório que a montagem, que neste caso seria o local onde a montagem foi copiada de sombra. Como o processo de cópia de sombra copia apenas o arquivo em que a montagem está e não quaisquer arquivos externos (como o arquivo de configuração), como posso garantir que o arquivo de configuração seja copiado juntamente com o arquivo de montagem, quando a cópia de sombra estiver ativada. Eu poderia ter a classe lida no local do arquivo de configuração de uma chave de registro, mas isso é assim 19978230. Se isto é sobre o app. config para o appdomain: o AppDomain poderia ser configurado de tal forma que shadow-copiar um local Config arquivo seria desnecessário (AppDomainSetup. ConfigurationFile poderia ser definido a sua localização, ou poderia ser o arquivo de configuração do processo exe8217s para o caso padrão.) Em seguida, seu assembly poderia apenas obter que appdomain8217s ConfigurationFile propriedade. Se este for um arquivo de configuração por montagem, ele pode ser incluído nessa montagem como um módulo não contendo manifesto de um conjunto de arquivos múltiplos. Então, seria copiado de sombra pela montagem. (Uma maneira fácil de fazer seu compilador emitir isso é torná-lo um ManifestResource vinculado.) É possível dizer se o assembly de chamada é um aplicativo Webforms ou aplicativo de console, ou um aplicativo da web I8217m pensando em termos de uma classe que acessa as coisas Como as máquinas locais som api8217s. Obviamente, não gostaríamos que desejasse que os aplicativos da Web acessassem essa classe. Muito obrigado pela sua ajuda. Eu tenho um aplicativo de serviço na web que usa algumas montagens. O número da versão do whoose continua mudando e está armazenado em alguma pasta na mesma máquina que o meu serviço na web. Toda vez que a versão de montagem muda, preciso alterar o redirecionamento de ligação e a base de código no arquivo web. config. ltassemblyIdentity name8221ABCD8221 publicKeyToken8221Sometoken8221 culture8221neutral8221 gt ltbindingRedirect oldVersion82211.0.0.0-99999.99999.99999.999998243 newVersion82211.0.1445.385848243 gt ltcodeBase version82211.0.1445.385848243 href8221file: C: Program FilesTPAABCD. dll8221 gt Atualizando o arquivo web. config é feito quando um webmethod particular é chamado . Esta coisa trabalha no tempo do desenvolvimento, porque o número da versão na configuração era mesmo como a montagem real, no sistema de produção este doesn8217t não trabalha como a versão da montagem é diferente então arquivo do config e dá o erro interno 500. Eu cansado reiniciar IIS e suprimir o Pasta de aplicativos do serviço web de C: WINDOWSMicrosoftFrameworkv1.1.4322Arquivos ASP temporários 1. O que acontece quando o método web é chamado. O webservices carrega as montagens com base no arquivo de configuração 2. A reinstalação do webservice parece ser a única solução atual para atualizar o arquivo de configuração. De que outra maneira posso atualizar o arquivo de configuração Nick Papatonis diz: De volta em 2003 você fez uma resposta a alguém que incluiu o seguinte8230 Se este for um arquivo de configuração por montagem, ele poderia ser incluído nessa montagem como um não-manifesto - módulo de montagem multi-arquivo. Então, seria copiado de sombra pela montagem. (Uma maneira fácil de fazer seu compilador emitir isto é torná-lo um ManifestResource vinculado.) Minha situação é a seguinte8230 Eu tenho um projeto de biblioteca de classe contendo minha lógica de negócios que é compartilhada entre várias aplicações, incluindo uma aplicação web ASP. O BL possui inúmeras configurações que escolhi armazenar em um arquivo de configuração dentro do projeto de lógica de negócios. Isso resulta em um arquivo bl. dll e um arquivo bl. dll. config na minha pasta de saída. O principal motivo para estruturar as coisas desta forma é evitar a replicação das configurações do BL nos arquivos de configuração para cada aplicativo de hospedagem. Dentro do código BL, eu uso OpenMappedExeConfiguration para abrir o arquivo de configuração BL. O nome do arquivo de configuração mapeado é construído usando a propriedade de localização dos assemblys de execução com. config concatenado no final. Esta abordagem funciona bem para aplicativos diferentes do aplicativo da web. O aplicativo da web apresenta algumas diferenças interessantes. Primeiro, o arquivo bl. dll é implantado na pasta de binários de sites, mas o arquivo bl. dll. config não é. Além disso, a propriedade de execução assemblies Location está apontando para uma cópia sombra do arquivo bl. dll. Então, eu tenho uma pergunta em duas partes. Qual é a melhor maneira de obter o arquivo bl. dll. config implantado para a pasta de sites bin sites no primeiro lugar E, como faço para garantir que ele é sombra copiado para a pasta temporária para execução Esta segunda parte não é crucial. Se o seu muito esforço para fazer com que o arquivo de configuração para ser copiado sombra, eu poderia usar o executando assemblies CodeBase propriedade para construir o caminho do arquivo de configuração, supondo que o arquivo de configuração foi implantado corretamente. Parece que sua sugestão de 2003 é o que eu estava procurando, mas eu não entendo bem como implementar o que você está sugerindo. Você poderia por favor fornecer instruções mais detalhadas sobre como fazer isso ou, possivelmente, me encaminhar para qualquer helpforumsblogs que irá me guiar através deste
No comments:
Post a Comment