2016-11-17 51 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包。