TeamCity 更改 csproj 文件中的提示路径
TeamCity changing the hintpath in csproj files
TeamCity 正在更改我的 csproj 文件中某些 nuget 包的 hintpath 属性。因此,它正在为特定的 nuget 包恢复错误的版本,我在 CI 服务器上遇到构建错误。否则一切正常,即使我自己拉回购并重建和恢复。
这是我在 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>
我不知道为什么会这样,也不知道如何预防。任何人都有这个问题的经验或知道我可以更改以防止它的项目设置?
问题是构建配置被设置为在 nuget 恢复构建步骤中更新 nuget 包。我假设只有缓存的 nuget 包会在 package.config 与本地包不同时更新,但事实并非如此。如果有机会,TeamCity 将始终更新到最新的稳定 nuget 包,并且该标志设置为 true。
TeamCity 正在更改我的 csproj 文件中某些 nuget 包的 hintpath 属性。因此,它正在为特定的 nuget 包恢复错误的版本,我在 CI 服务器上遇到构建错误。否则一切正常,即使我自己拉回购并重建和恢复。
这是我在 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>
我不知道为什么会这样,也不知道如何预防。任何人都有这个问题的经验或知道我可以更改以防止它的项目设置?
问题是构建配置被设置为在 nuget 恢复构建步骤中更新 nuget 包。我假设只有缓存的 nuget 包会在 package.config 与本地包不同时更新,但事实并非如此。如果有机会,TeamCity 将始终更新到最新的稳定 nuget 包,并且该标志设置为 true。