修改后的Nuget包还原问题

时间:2017-03-03 11:35:53

标签: visual-c++ tfs msbuild nuget nuget-package-restore

我们在项目中使用cpprestsdk包。您可能会注意到 cppresdsdk.target 仅针对调试发布配置进行了配置。但我们分别有 Debug_StaticLib Release_StaticLib 。所以我们需要修改* .target文件。

这是我们从nuget.org获得的:

<ItemGroup Condition="'$(Configuration)' == 'Release' And '$(Platform)' == 'x64' And '$(Disable-cpprestsdk-v140-windesktop-msvcstl-dyn-rt-dyn)' == ''">
  <ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)..\..\lib\native\v140\windesktop\msvcstl\dyn\rt-dyn\x64\Release\cpprest140_2_9.dll" />
  <ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)..\..\lib\native\v140\windesktop\msvcstl\dyn\rt-dyn\x64\Release\cpprest140_2_9.pdb" />
</ItemGroup>

这就是我们所需要的:

<ItemGroup Condition="$(Configuration.ToLower().Contains('release')) And '$(Platform)' == 'x64' And '$(Disable-cpprestsdk-v140-windesktop-msvcstl-dyn-rt-dyn)' == ''">
  <ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)..\..\lib\native\v140\windesktop\msvcstl\dyn\rt-dyn\x64\Release\cpprest140_2_9.dll" />
  <ReferenceCopyLocalPaths Include="$(MSBuildThisFileDirectory)..\..\lib\native\v140\windesktop\msvcstl\dyn\rt-dyn\x64\Release\cpprest140_2_9.pdb" />
</ItemGroup>

好的,我们将此修改后置于源代码管理下( TFS )。但是当有人试图恢复软件包时,他会收到一个错误,即 cppresdsdk.target 被TFS锁定(只读)。我们需要手动签出此文件,恢复包并撤消挂起的更改。这很奇怪。

我的问题是我们应该如何处理这类案件?我们是否需要上传自己的包含修复程序,或者我们可以以某种方式修补现有的包?或者我们可以在客户端以某种方式解决这个问题?

0 个答案:

没有答案