Gerenciando dependências no vNext

votos
1

Na empresa em que trabalho que fazemos o seguinte quando precisamos de referências a DLLs de terceiros em nossos projetos:

  1. Use NuGet para obter pacote
  2. Retire do dll e crie uma pasta lib e adicionar as referências aqui
  3. esta pasta lib é adicionado ao git para que outros membros da equipe têm todas as referências quando eles fazem um puxão de git
  4. dll de referência é armazenado na pasta lib no nosso projecto

Fazemos isso para ter total controle e saber exatamente o que as referências que estamos usando.

A minha pergunta é como isso é alcançado quando usando vNext e podemos continuar a fazê-lo desta maneira?

Foram assistidos Introdução: O Futuro do .NET no servidor, e parece que você listar todas as dependências no arquivo project.json e quando você k restaurar ele vai ir e baixar todos baseados em fontes no arquivo de configuração NuGet

Publicado 10/08/2014 em 20:42
fonte usuário
Em outras línguas...                            


2 respostas

votos
2

Você vai fazer uso do project.jsonarquivo. Como você mencionou, você listar todas as suas dependências em lá eo K Package Manager vai lidar com resolver os pacotes que faltam para você.

Você notará que no arquivo json você especificar o pacote em um pouco de um par chave-valor de package:version. A maioria dos exemplos mostram uma versão do *que significa me o mais recente . Mas não há nada que impeça você de especificar uma versão específica, ou uma parte específica de uma versão. Por exemplo, o arquivo project.json no recipiente Autofac do projeto DI especifica uma versão específica do Autofac:

"dependencies": {
    "Autofac": "3.3.0",
    "Microsoft.Framework.DependencyInjection": ""
},

O principal projeto DI especifica uma versão tipo de-específico de Microsoft.Framework.ConfigurationModel:

"dependencies": {
    "Microsoft.Framework.ConfigurationModel": "1.0.0-*"
},

Que diz me o build mais recente do 1.0.0

Este sistema permite-lhe obter automaticamente o mais recente e maior, se quiser, mas também especificar uma versão específica para a segurança. Não há nenhuma razão para copiar DLL em uma pasta lib personalizado.

EDIT: Você me inspirou a blog sobre isso: http://davidzych.com/2014/08/13/specifying-package-dependency-versions-in-asp-net-vnext/

Respondeu 13/08/2014 em 20:55
fonte usuário

votos
0

Apenas observando que "- *" não necessariamente retornar a versão mais recente. É o meu teste simples, ele sempre retorna o menor versão disponível. Por essa documentação o cálculo é mais complexo e retorna o menor versão que "funciona".

EDIT: adicionado link para documentação

Respondeu 22/11/2014 em 01:44
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more