Visual Studio - Исправление ошибки «Файл с таким именем уже открыт» - PullRequest
9 голосов
/ 01 сентября 2009

Иногда (обычно после обновления моего файла .sln в системе управления версиями) я получаю странную ошибку Visual Studio, из-за которой не удается открыть некоторые из моих файлов. Указанные файлы отображаются в соответствующем проекте, но при попытке открыть их появляется диалоговое окно с сообщением об ошибке «Файл с таким именем уже открыт».

Это практически идентично Почему говорится "Проект с таким именем уже открыто в решении"? , за исключением файлов, а не проектов. Решение, данное там, не исправляет это.

Ответы [ 4 ]

11 голосов
/ 01 сентября 2009

Visual Studio внутренне поддерживает список открытых в данный момент файлов, чтобы избежать проблем, вызванных открытием файлов более одного раза. Любое количество вещей (сбои, перезагрузки, обновление файлов в системе контроля версий вне VS) может привести к повреждению этого списка.

В любом случае проблему можно решить, удалив скрытый файл Solution.suo, который находится в том же каталоге, что и ваш файл Solution.sln. Это приведет к тому, что вы потеряете текущее состояние рабочего пространства (открытые файлы, расположение окон и т. Д.), Но это не повлияет на решение.

Это скрытый файл, поэтому для его просмотра или удаления необходимо либо включить просмотр скрытых файлов в Проводнике, либо использовать del /AH Solution.suo в командной строке.

3 голосов
/ 28 октября 2015

Удалите скрытый файл .suo и отредактируйте файл .csproj, удалив следующие строки:

<SccProjectName>Svn</SccProjectName>
<SccLocalPath>Svn</SccLocalPath>
<SccAuxPath>Svn</SccAuxPath>
<SccProvider>SubversionScc</SccProvider>

Теперь откройте решение, чтобы решить проблему.

1 голос
/ 01 сентября 2009

Есть ли у вас связанные файлы в решении?

Visual Studio имеет инвариант, что одновременно может быть открыт только один файл с заданным путем. Этот инвариант чаще всего используется, когда у вас есть связанный файл в вашем проекте / решении и вы пытаетесь открыть как исходную, так и одну из связанных ссылок.

0 голосов
/ 13 июля 2017

Откройте файл csproj проекта и удалите следующие строки:

<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>

Эти строки, скорее всего, создаются из-за того, что проект добавляется в визуальный svn, т.е. когда проект / решение добавляется в систему контроля версий. Файлы проекта / решения обновляются, чтобы включить информацию об интеграции управления исходным кодом, и эти строки добавляются, что вызывает проблемы.

Удалите эти строки и просто перезагрузите ваш проект (или решение), это должно решить проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...