После обновления до VS 2015 моя команда столкнулась со случайными причудливыми вещами, которые, я уверен, сейчас разрабатываются в Microsoft. Один довольно раздражающий момент заключается в том, что мы, кажется, теряем ссылки на проекты, особенно после ветвления. Вчера я начал работать над новой веткой нашего решения только для того, чтобы узнать, что типы не распознаются, а использование пространств имен упоминается как ненужное (потому что они были для типов, которые внезапно стали нераспознанными).
Ссылки в проекте не отображали никаких значков, указывающих на проблему со ссылкой, но просто чтобы посмотреть, будет ли это работать, я удалил и снова добавил ссылку на проект, что привело к тому, что его типы снова распознавались.
Это, конечно, обновило файл проекта, поэтому я посмотрел, какие изменения были сделаны. Единственная разница между проектом, который не мог обнаружить ссылку, и проектом, который теперь может, заключается в том, что альфа-символы в GUID были изменены с нижнего регистра на верхний регистр. Например:
Старая, неработающая ссылка:
<ProjectReference Include="path/redacted">
<Project>{95d34b2e-2ceb-499e-ab9e-b644b0af710d}</Project>
<Name>Project.Name.Redacted</Name>
</ProjectReference>
Новая фиксированная ссылка:
<ProjectReference Include="path/redacted">
<Project>{95D34B2E-2CEB-499E-AB9E-B644B0AF710D}</Project>
<Name>Project.Name.Redacted</Name>
</ProjectReference>
Я ищу причину, по которой это происходит, и как я могу это исправить без необходимости вручную удалять и повторно добавлять ссылки повсюду (и без необходимости преобразовывать все GUID файла проекта в верхний регистр).
Я должен отметить, что эти «сломанные» ссылки не нарушают сборку и отображаются в списке ошибок только как ошибка IntelliSense, а не ошибки сборки. Итак, ссылки на самом деле не сломаны, они просто сломали IntelliSense (что, возможно, еще хуже?!).
*.suo
из папки.vs
решения, и это решило проблему для меня, позволив мне создать решение. Это, вероятно, объясняет, почему MSBuild не затрагивается, но почему пользовательские настройки решения вызывают проблему с чувствительностью к регистру... - person Nick   schedule 28.09.2017