Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么IIS 8.0 Express在Visual Studio 2012中重命名后使用旧的项目名称_C#_Asp.net Mvc 4_Project_Iis Express - Fatal编程技术网

C# 为什么IIS 8.0 Express在Visual Studio 2012中重命名后使用旧的项目名称

C# 为什么IIS 8.0 Express在Visual Studio 2012中重命名后使用旧的项目名称,c#,asp.net-mvc-4,project,iis-express,C#,Asp.net Mvc 4,Project,Iis Express,在一些命名混乱之后,我的团队决定重命名一些项目以及项目中所有现有代码文件的名称空间。(在Visual Studio 2012中) 我们改变了: 项目名称 项目属性中的程序集名称、默认命名空间、标题和产品项 重命名的每个项目中每个代码文件的名称空间 修订名称空间的所有using语句 清除/bin目录中的旧.dll文件(使路由引擎无法找到多个控制器) 实际文件夹本身,需要删除项目并将其重新添加到解决方案中(以及重新引用已重命名的项目) 在所有这些之后,IIS8.0Express仍然坚持使用旧的项

在一些命名混乱之后,我的团队决定重命名一些项目以及项目中所有现有代码文件的名称空间。(在Visual Studio 2012中)

我们改变了:

  • 项目名称
  • 项目属性中的程序集名称、默认命名空间、标题和产品项
  • 重命名的每个项目中每个代码文件的名称空间
  • 修订名称空间的所有using语句
  • 清除/bin目录中的旧.dll文件(使路由引擎无法找到多个控制器)
  • 实际文件夹本身,需要删除项目并将其重新添加到解决方案中(以及重新引用已重命名的项目)
在所有这些之后,IIS8.0Express仍然坚持使用旧的项目名称作为站点名称(在本地调试时)。我怎样才能解决这个问题

编辑: 真正的问题是:IIS 8.0 Express如何确定站点名称

这是从一个网站的.csproj文件中截取的一个

<ProjectExtensions>
  <VisualStudio>
    <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
      <WebProjectProperties>
        <UseIIS>True</UseIIS>
        <AutoAssignPort>True</AutoAssignPort>
        <DevelopmentServerPort>52143</DevelopmentServerPort>
        <DevelopmentServerVPath>/</DevelopmentServerVPath>
        <IISUrl>http://localhost:53177/</IISUrl>
        <NTLMAuthentication>False</NTLMAuthentication>
        <UseCustomServer>False</UseCustomServer>
        <CustomServerUrl>
        </CustomServerUrl>
        <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
      </WebProjectProperties>
    </FlavorProperties>
  </VisualStudio>
</ProjectExtensions>

真的
真的
52143
/
http://localhost:53177/
假的
假的
假的

…站点名称不包含任何内容。

您必须在csproj文件和sln文件(基本上是VS使用的具有文件扩展名的xml文件)中查找并更改这些名称

首先也是最重要的一点,备份你所有的东西,以防万一。接下来,对csproj/sln文件中的旧名称进行文本搜索(希望它们不是像“if”这样的名称)。更改名称,然后尝试启动


我不知道有什么工具或自动方法可以做到这一点,但我已经成功地按上述方式手动完成了这一点。

您是否重新配置了IIS Express?在项目属性的web选项卡上,单击“创建虚拟目录”

问题根本不在项目中

在applicationhost.config文件中,通常在

(用户目录)\My Documents\IISExpress\config\applicationhost.config

有一个站点的设置。只需更改站点的name属性

       <site name="MvcApplication1" id="3">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="(whateverpath)\My Documents\Visual Studio 2012\Projects\MvcApplication1\MvcApplication1" />
            </application>
            <bindings>
                <binding protocol="http" bindingInformation="*:57733:localhost" />
            </bindings>
        </site>


如果您想知道我为什么更改了您的标题,请阅读。感谢您的更改和链接。不幸的是,单击“创建虚拟目录”不足以更改IIS为网站显示的名称。您可能必须从IIS Express中删除虚拟目录,然后重新创建它。进入My Documents\IIS Express文件夹中的applicationhost.config并删除其中的条目。请记住关闭IIS Express。通过上述步骤删除了旧名称:相关的.csproj和.sln文件中不存在原始命名空间和/或项目名称的文本字符串。(我刚刚用Notepad++检查了一下)除了上面所说的之外,我在applicationhost.config中还有一个必须删除的
条目。出于某种原因,我在重命名中采取的步骤将旧条目保留为旧名称,并添加了一个新条目。我建议在该文件中搜索旧项目名称的任何其他实例。