2016-11-17 7 views
0

TeamCity меняет атрибут hintpath для определенных пакетов nuget в моих файлах csproj. Из-за этого он восстанавливает неправильную версию для конкретного пакета nuget, и я получаю ошибки сборки на сервере CI. В любом случае все работает отлично, даже если я сам вытащил репо и восстановил и восстановил.TeamCity изменение hintpath в файлах csproj

Вот что я имею в мерзавца:

<Reference Include="SimpleInjector, Version=3.2.3.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL"> 
    <HintPath>..\packages\SimpleInjector.3.2.3\lib\net45\SimpleInjector.dll</HintPath> 
    <Private>True</Private> 
</Reference> 
<Reference Include="SimpleInjector.Packaging, Version=3.2.3.0, Culture=neutral, PublicKeyToken=984cb50dea722e99, processorArchitecture=MSIL"> 
    <HintPath>..\packages\SimpleInjector.Packaging.3.2.3\lib\net40-client\SimpleInjector.Packaging.dll</HintPath> 
    <Private>True</Private> 
</Reference> 

И вот что он говорит в TeamCity:

<Reference Include="SimpleInjector"> 
    <HintPath>..\packages\SimpleInjector.3.2.7\lib\net45\SimpleInjector.dll</HintPath> 
</Reference> 
<Reference Include="SimpleInjector.Packaging"> 
    <HintPath>..\packages\SimpleInjector.Packaging.3.2.7\lib\net40-client\SimpleInjector.Packaging.dll</HintPath> 
</Reference> 

Я понятия не имею, почему это происходит и как это предотвратить. У кого-нибудь есть опыт работы с этой проблемой или информация о настройке проекта, которую я могу изменить, чтобы предотвратить ее?

ответ

0

Проблема заключалась в том, что в конфигурации сборки было установлено обновление пакетов nuget на этапе сборки восстановления nuget. Я был в предположении, что только кешированные пакеты nuget будут обновляться, когда package.config отличается от локальных пакетов, но это не так. TeamCity всегда будет обновляться до последнего стабильного пакета nuget, если у него есть такая возможность, и для этого флага установлено значение true.

 Смежные вопросы

  • Нет связанных вопросов^_^