4

在从 MVC 4 Beta 升级到 MVC 4 RC 时,我运行了针对 Beta 版本构建的基线和针对 RC 构建的分支,以进行并排比较。

结果,IIS Express 最终得到了两个站点,MyProject并且MyProject (1). 我现在已经合并了 RC 分支,IIS Express 知道它为MyProject (1). 附加的有点烦人(1),所以我想我只需编辑applicationhost.config以删除原始MyProject条目并重命名Myproject (1)Myproject.

结果,VS2012 无法再启动该项目。如果我反转重命名,它会再次起作用。

项目与仍调用项目的 IIS Express 站点名称之间必须存在关联MyProject (1),但我找不到该关联的保存位置。我搜索了 MyProject.csproj 和 MyProject.csproj.user。

Visual Studio 项目和 IIS Express 站点名称之间的关联保存在哪里?

4

1 回答 1

3

如果您projectname.csproj使用文本编辑器打开了 Visual Studio 项目(另一种解决方案是右键单击项目并卸载它“卸载项目”,然后菜单“编辑 projectname.csproj”),您可以找到一个ProjectExtensions可以找到映射的部分:

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

注意<UseIIS>True</UseIIS><IISUrl>http://localhost:6189/</IISUrl>

您可以在 IIS Express 配置文件中找到 IIS 端口 (6189) applicationhost.config

<sites>
    <site name="MyApplication.Web" id="2">
                <application path="/" applicationPool="Clr4IntegratedAppPool">
                    <virtualDirectory path="/" physicalPath="C:\Projects\MyApplication.Web" />
                </application>
                <bindings>
                    <binding protocol="http" bindingInformation="*:6189:localhost" />
                </bindings>
            </site>
        ...
</sites>

我建议从菜单返回 Visual Studio Development Server 并删除 IIS 配置文件中的部分。现在在 Visual Studio 中,您可以重新映射 IIS Express。

于 2013-03-05T11:20:55.823 回答