У меня есть сложное программное решение, которое я хотел разделить на несколько решений Visual Studio для большей простоты, но все это привело к путанице, потому что все ссылки на сборки были сломаны. Я проверил файлы .csproj и обнаружил, что ссылки на сборки были правильными, указывая на правильное расположение файловой системы, поэтому я не понимал, в чем проблема.
Итак, я попытался скопировать папку NuGet «packages» в папку, ближайшую к файлу csproj, и обновил HintPath, чтобы он указывал на новое местоположение, и ... Он волшебным образом исправлен!
Например:
Это не работает:
<HintPath>..\..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
Это отлично работает:
<HintPath>..\packages\Microsoft.AspNet.WebPages.3.2.7\lib\net45\System.Web.WebPages.Razor.dll</HintPath>
Кто-нибудь еще испытывал такое поведение? Как правильно структурировать решения, которые совместно используют общие проекты, не попадая в эту надоедливую проблему? Есть ли лучшая практика?
Обновление :
Я снова столкнулся с той же проблемой, и теперь решение вернулось к исходному значению HintPath, выгрузил и снова загрузил проект. Я не знаю, в чем причина, но теперь проекты снова успешно компилируются. Возможно, в Visual Studio есть какой-то кэш для путей к сборкам, и он сходит с ума, когда проекты перемещаются в другую папку?