A instalação do pacote NuGet usa versão específica do assembly nos arquivos csproj
Estamos usando o NuGet em nossos projetos, estamos enfrentando problemas com as referências csproj dos pacotes NuGet.
Cenário 1
Quando estamos instalando alguns pacotes na solução no sistema Dev com os detalhes abaixo,
Windows 7, x64 bitsVisual Studio 2012NuGet 2.8Integridade PTC para controle de versãoEle adiciona a versão específica aos arquivos csproj. conforme indicado abaixo (snippet csproj),
<Reference Include="ABCD.XYZ, Version=1.0.6045.25123, Culture=neutral, processorArchitecture=AMD64">
<HintPath>..\packages\ABCD.XYZ.2.0.0.0\lib\net45\ABCD.XYZ.dll</HintPath>
<Private>True</Private>
</Reference>
Cenário 2
Ao adicionar o mesmo pacote no servidor de compilação com os detalhes abaixo
Windows Server 2008 R2Visual Studio 2012NuGet 2.8Integridade PTC para controle de versãoAdiciona abaixo os detalhes,
<Reference Include="ABCD.XYZ">
<HintPath>..\packages\ABCD.XYZ.2.0.0.0\lib\net45\ABCD.XYZ.dll</HintPath>
<Private>True</Private>
</Reference>
Como a versão específica é adicionada? Eu vejo issopostar menciona que adiciona a tag abaixo ao csproj desse usuário, mas esse não é o caso para nós.
<SpecificVersion>False</SpecificVersion>
Meu cenário aqui é que, nossa compilação incrementa a versão do conjunto ABCD.XYZ a cada compilação. Portanto, o projeto que tem referência acima está falhando, pois não é capaz de encontrar a versão acima (o NuGet adiciona um nome forte na referência)
Eu tentei várias configurações de compilação como Debug, Release, x64, Qualquer CPU etc.
Atualizar o csproj manualmente, não é essa opção flexível
Então, aqui estão minhas poucas perguntas,
Como essa versão específica ou nome forte é adicionada ao csproj?Existe alguma opção para adicionar / ignorar versão específica?O que é necessário para adicionar a referência, conforme destacado no Cenário 2?Informe-nos se forem necessários dados adicionais.