Не удается разрешить ссылки в VS 2013, но они работают в 2017 году.
Ссылки работают в VS 2017, но когда мой коллега проверяет проект в VS 2013, ссылки не могут быть решены. Я выполнил "Update-Package -reinstall", и он может разрешить ссылки во всех, кроме 1, проектах в решении. Менеджер пакетов NuGet сообщает, что пакеты установлены. Я пытался удалить ссылки из обозревателя решений и добавить их вручную, но это все равно не разрешится. Я также попытался очистить кеш пакета и повторить восстановление пакета. На мой ум заканчивается этим. Нам нужна VS 2013 для контрактов с кодом, которые не поддерживаются в 2017 году, в противном случае я бы попросил коллегу попробовать обновить. Любая идея, что заставило бы ссылки не разрешиться?
1 ответ
Я смог решить проблему, удалив этот код из моего файла.csproj. Я думаю, что это нечто уникальное для более новых версий NuGet, которых нет в VS 2013. Надеюсь, что это поможет кому-то еще с подобной проблемой в будущем.
<Import Project="..\..\packages\NETStandard.Library.2.0.1\build\NETStandard.Library.targets" Condition="Exists('..\..\packages\NETStandard.Library.2.0.1\build\NETStandard.Library.targets')" />
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
<PropertyGroup>
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use 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('..\..\packages\NETStandard.Library.2.0.1\build\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\NETStandard.Library.2.0.1\build\NETStandard.Library.targets'))" />
</Target>