Я не могу получить проекты для загрузки в Visual Studio 2013 с тем же именем, что и их каталог, и я не могу переименовать проекты в Solution Explorer

У меня было две проблемы, которые, похоже, не адресуются нигде.

Проект веб-сайта, каталог которого я переименовал из ProjectB в ProjectA, продолжал загружать в решение VS 2013 как ProjectB после переименования. F2, rt-click и длинный щелчок по имени проекта не позволили мне переименовать его. У меня нет файла csproj. Я удалил все неиспользуемые файлы, а затем импортировал их в новое пустое решение. Полнотекстовый поиск в каталоге показывал имя только в файле .suo, который я удалил.

Я исправил это (решение ниже), а затем импортировал веб-сайт в каталог ProjectB в решение. Когда я это сделал, ему было присвоено имя ProjectB(2), ProjectB(3), ProjectB(4), несмотря на то, что ничего больше не было ProjectB. Снова я не мог вручную переименовать только ProjectB. Не было ни папки, ни файла, которые противоречили друг другу. Я даже перезапустил Windows после удаления временных файлов, но в следующий раз, когда я импортировал проект, он появился как ProjectB(8). Решение ниже.

Затем я повторно открыл одно и то же решение на другом компьютере, а ProjectB (в каталоге ProjectB) был переименован в ProjectA(2), несмотря на то, что его нигде не называли. Решение ниже.

Ответ 1

[Позже отредактируйте: если вы получаете эти проблемы, первое, что я попробую, это закрыть VS2013, а затем выйти из IISExpress в системном трее, а затем переместить каталог IISExpress:

C:\Users\chris\Documents\IISExpress

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

Первая проблема была решена путем удаления всех файлов, которые не были исходными файлами или DLL (sln, suo и т.д.), удаления всех файлов в C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files, переименования родительского каталога папки решения и создания нового решения, Только после всех этих шагов проект загружается с тем же именем, что и каталог проекта. (Ничего меньше, чем это сработало - проект всегда загружался со старым именем проекта, отличным от имени каталога.) Т.е. решением было переименовать папку ВЫШЕ, что из проекта.

Например, структура файла была первоначально:

C:\Dev\Client\Solution\ProjectA

(а имя проекта в VS2013 было ProjectB). Я переименовал путь выше пути решения, то есть:

C:\DevXYZ\Client\Solution\ProjectA

Затем проект загрузится в Visual Studio 2013 как ProjectA.

Вторая проблема заключалась в IIS Express - она ​​никогда не удаляет виртуальные каталоги. Я перешел к следующему файлу (замените его своим именем пользователя):

C:\Users\Крисом\Documents\IISExpress\Config\ApplicationHost.config

И удалил все теги сайта в <sites>, т.е.

    <sites>
        <site name="projectname" id="1">
...
        <site name="projectname(2)" id="4">
...
        <site name="otherprojects" id="7">
    </sites>

становится

    <sites>
    </sites>

Затем я перезапустил Visual Studio, снова открыл тот же файл решения, который получал ProjectB(2), и он загружался как ProjectB.

Когда я снова открыл то же решение на VS2013 на другом компьютере, сначала он переименовал ProjectB в ProjectA, а затем переименовал ProjectA в ProjectA(1). Мне пришлось удалить сайты в applicationhost.config, затем повторно открыть это решение, а проекты загрузились с именами их каталогов.

Затем я получил ошибку IIS Express при открытии решения. Решением этого было закрыть VS2013 и убить IISExpress в системном трее (потребовалось минутку, чтобы умереть), а затем удалить весь каталог IISExpress в My Documents. (Из этого ответа Невозможно запустить веб-сервер IIS Express)