我有一个使用 IIS 的 ASP.NET 项目。IIS 站点配置为使用自定义绑定主机名。项目文件包含以下设置:
...
<UseIISExpress>false</UseIISExpress>
...
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
<AutoAssignPort>False</AutoAssignPort>
<DevelopmentServerPort>8662</DevelopmentServerPort>
<DevelopmentServerVPath>/</DevelopmentServerVPath>
<IISUrl>http://custom.host.name/</IISUrl>
<NTLMAuthentication>False</NTLMAuthentication>
<UseCustomServer>False</UseCustomServer>
<CustomServerUrl></CustomServerUrl>
<SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
</WebProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
...
当项目配置为这样的方式,我可以访问站点从 http://custom.host.name/
和 VS 自动附加到 IIS 工作进程时调试。
当我重新加载项目(或者通过关闭/重新打开解决方案,或者通过在项目上下文菜单中卸载/重新加载)时,意想不到的事情发生了。项目加载失败,在解决方案资源管理器中,(load failed)
显示在项目名称的右侧,消息框显示以下消息(它也显示在“输出”窗口中) :
The URL 'http://custom.host.name/' for Web project 'Some.Asp.Net.Project'
is configured to use IIS Express as the web server but the URL is currently
configured on the local IIS web server. To open this project, you must use
IIS Manager to remove the bindings using this URL from the local IIS web server.
我试过从 IISExpressapplicationhost.config
文件中删除项目站点配置,但是没有用。
在默认站点下将项目映射到 IIS 应用程序时,我不会遇到这个问题。
VS 版本是终极2012更新3。