C# 我无法使用与其目录相同的名称将项目加载到Visual Studio 2013中,并且无法在解决方案资源管理器中重命名这些项目

C# 我无法使用与其目录相同的名称将项目加载到Visual Studio 2013中,并且无法在解决方案资源管理器中重命名这些项目,c#,visual-studio-2013,C#,Visual Studio 2013,我有两个问题似乎没有得到解决 一个网站项目,其目录我已从ProjectB重命名为ProjectA,在重命名后一直作为ProjectB加载到VS2013解决方案中。rt click和长时间单击项目名称无法使我重命名它。我没有csproj文件。我删除了所有非源文件,然后导入到一个新的空解决方案中。对目录的全文搜索只在.suo文件中显示了该名称,我已将其删除 我修复了这个问题(下面的解决方案),然后将目录ProjectB中的一个网站导入到解决方案中。当我这样做的时候,它被命名为ProjectB(2),

我有两个问题似乎没有得到解决

一个网站项目,其目录我已从
ProjectB
重命名为
ProjectA
,在重命名后一直作为
ProjectB
加载到VS2013解决方案中。rt click和长时间单击项目名称无法使我重命名它。我没有csproj文件。我删除了所有非源文件,然后导入到一个新的空解决方案中。对目录的全文搜索只在.suo文件中显示了该名称,我已将其删除

我修复了这个问题(下面的解决方案),然后将目录
ProjectB
中的一个网站导入到解决方案中。当我这样做的时候,它被命名为
ProjectB(2)
ProjectB(3)
ProjectB(4)
,尽管现在已经没有了
ProjectB
。同样,我无法手动重命名为仅
ProjectB
。没有冲突的文件夹或文件。我甚至在删除临时文件后重新启动了Windows,但下一次导入项目时,它以
ProjectB(8)
的形式出现。解决方案如下


然后,我在另一台计算机上重新打开了相同的解决方案,并且
ProjectB
(在目录
ProjectB
中)被重命名为
ProjectA(2)
,尽管从未在任何地方被命名过。解决方案如下。

[稍后编辑:如果您遇到这些问题,我首先尝试关闭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
然后,该项目将作为
ProjectA
加载到Visual Studio 2013中

第二个问题是IIS Express—它似乎从不删除虚拟目录。我转到以下文件(替换为您的用户名):

C:\Users\chris\Documents\IISExpress\config\applicationhost.config

并删除了
中的所有站点标签

    <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(需要一分钟的时间),然后删除
My Documents
中的整个IISExpress目录。(从这个答案)