В моем решении есть несколько проектов, которые ссылаются на System.ValueTuple.dll
через nuget.Путь к сборке определен одинаково для всех этих проектов, но Visual Studio 2017 разрешает его по-разному.Это приводит к тому, что большинство проектов приходится строить снова и снова, хотя изменений нет.
Вот пример определения ссылки в файле проекта (опять же, она одинакова для всех проектов).):
<Reference Include="System.ValueTuple, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\..\..\..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll</HintPath>
<Private>True</Private>
</Reference>
И вот сообщение, которое я получаю, когда Visual Studio неправильно разрешает ссылку на проект и, таким образом, строит ее снова, независимо от того, есть изменения или нет:
Проект «ХХХ» не актуален.Ссылочный источник CopyLocal 'C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ Microsoft \ Microsoft.NET.Build.Extensions \ net461 \ lib \ System.ValueTuple.dll' более поздний, чем 'C:\ Src \ Current.Release \ Bin \ Debug \ System.ValueTuple.dll '.
Почему Visual Studio не берет указанную мной ссылку или просто отказывает, если ее там нет?В окне свойств ссылок также отображается неверный путь.
Я могу воспроизвести это поведение на нескольких машинах.Если я извлекаю один из проблемных файлов проекта, добавляю пустую строку и перезагружаю его, он впоследствии разрешает ссылку правильно.Но я имею в виду, что я не сделал никаких изменений.Если я переназначу рабочее пространство, проблема вернется.
Надеюсь, вы, ребята, сможете мне помочь.Заранее спасибо!