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目录。(从这个答案)