Что такое цель EnsureNuGetPackageBuildImports?

в некоторых моих файлах csproj у меня есть это, но некоторые не:

  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
    <PropertyGroup>
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
    </PropertyGroup>
    <Error Condition="!Exists('$(SolutionDir).nugetNuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir).nugetNuGet.targets'))" />
  </Target>

что это и зачем мне это нужно? Мои другие проекты восстанавливают свои пакеты просто отлично без.

Я использую VS2013 и NuGet 2.8.

1 ответов


Это гарантирует, что импортные .реквизит и. целевые файлы действительно импортируются. NuGet поддерживает поддержку NuGet MSBuild с 2.5. Код EnsureNuGetPackageBuildImports был добавлен в сентябре, но я думаю, что это изменение 2.8. К сожалению, это выглядит как не обратно совместимое изменение. У нас есть некоторые разработчики на 2.7, которым теперь нужно будет обновить до 2.8. Я нашел EnsureNuGetPackageBuildImports общим/MsBuildProjectUtility.cs on линия 11.