Como faço para gerenciar referências item de implantação que podem ser tanto em um x86 instalar, ou x64 instalar para um projeto baseado em MSTest?

StackOverflow https://stackoverflow.com/questions/267439

  •  06-07-2019
  •  | 
  •  

Pergunta

Muito relacionado com esta pergunta , temos um cenário em minha equipe onde precisamos copiar o conteúdo de uma pasta para um conjunto de bibliotecas e arquivos de configuração para referidas bibliotecas para a nossa pasta onde o nosso código de teste está sendo executado a partir, como parte da etapa de implantação do teste.

Devido ao tamanho da instalação, e outros fatores, verificando nesta pasta instalar no controle de origem para a partilha entre os membros da equipe simplesmente não é viável.

O caminho de instalação para a pasta é ou / Program Files / InternalTool / ou / Arquivos de Programas (x86) / InternalTool / , dependendo do ambiente instalado. Eu quero configurar meu arquivo .testrunconfig tal que quando uma pessoa recebe a versão mais recente da solução, eles não têm que se preocupar com ajustes para o caminho para a suíte biblioteca interna compartilhada.

Existe uma maneira de fazer isso sem costura para todos os membros envolvidos, e em caso afirmativo, como se poderia conseguir isso?

As restrições são as seguintes:

  • Não é possível verificar em suite compartilhada
  • suíte compartilhada tem nenhuma substituição para o caminho de instalação

Isso é possível, ou estou pedindo muito?

Foi útil?

Solução 2

Este foi realmente muito, muito mais fácil do que eu esperava.

Embora a interface do usuário não suporta muitas coisas com o arquivo de execução de teste de configuração local, eu era capaz de definir o caminho usando o padrão% ProgramFiles%.

  • Em sistemas x86, isso resolve, na maioria dos sistemas, a C:. \ Arquivos de Programas \
  • Em x64, isso resolve, na maioria dos sistemas, a C:. \ Arquivos de Programas \

Mas! Se o chamador é de 32-bit, e não de 64 bits ou conjunto de MSIL,% ProgramFiles% irá resolver para C: \ Program Files (x86) \. Como não há 64-bit mstest, a resolução deve acontecer sem problemas. Por exemplo, este é arrancado do meu arquivo LocalTestRun.testrunconfig, e depois devidamente higienizado:

  <Deployment>
    <DeploymentItem filename="%ProgramFiles%\InternalSuite\" />
  </Deployment>

Enquanto eu não tive a chance de testar este ainda totalmente, isso deve resolver a nossa questão muito bem. Eu testei isso no meu sistema de 32 bits, e descobriram que ele resolve certo como a chuva.

Espero que isso ajude alguém!

Outras dicas

Nós lidar com este tipo de problema (os nossos problemas não são os mesmos, mas são semelhantes) por ter diferentes arquivos de configuração com nomes diferentes e copiar o correto sobre quando é necessário.

Em alguns casos, automatizar esta dentro do trabalho em lotes que obtém a versão mais recente.

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