2016-11-17 48 views
0

TeamCity正在更改我的csproj文件中某些nuget包的提示路徑屬性。因此,它正在恢復特定nuget軟件包的錯誤版本,並且在CI服務器上收到生成錯誤。一切正常,否則,即使我自己拉回購,並重建和恢復。TeamCity更改csproj文件中的提示路徑

這是我在git的:

<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軟件包。我假設只有當package.config與本地軟件包不同時,纔會更新緩存nuget軟件包,但事實並非如此。如果TeamCity有機會並且該標誌設置爲true,TeamCity將始終更新到最新的穩定nuget包。