2016-11-17 1 views
0

TeamCity ändert das Attribut Tipppfad für bestimmte nuget-Pakete in meinen csproj-Dateien. Aus diesem Grund stellt es die falsche Version für das spezifische nuget-Paket wieder her und ich erhalte Build-Fehler auf dem CI-Server. Ansonsten klappt alles gut, auch wenn ich das Repo selbst ziehe und neu aufbaue und restauriere. HierTeamCity den Hinweispfad in csproj-Dateien ändern

ist, was ich in git haben:

<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> 

Und hier ist das, was er sagt, in 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> 

Ich habe keine Ahnung, warum dies geschieht und wie sie zu verhindern. Jeder hat Erfahrung mit diesem Problem oder weiß von einer Projekteinstellung, die ich ändern kann, um es zu verhindern?

Antwort

0

Das Problem war, dass die Build-Konfiguration so eingestellt wurde, dass die Nuget-Pakete im Nuget-Wiederherstellungs-Build-Schritt aktualisiert wurden. Ich ging davon aus, dass nur zwischengespeicherte Nuget-Pakete aktualisiert würden, wenn sich die Datei package.config von den lokalen Paketen unterschied, aber das ist nicht der Fall. TeamCity wird immer auf das letzte stabile nugget-Paket aktualisieren, wenn es die Möglichkeit hat und dieses Flag auf true gesetzt ist.