我有一个使用 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.
我曾尝试从 IIS Expressapplicationhost.config
文件中删除项目站点配置,但没有帮助。
在默认站点下将项目映射到 IIS 应用程序时,我没有遇到此问题。
VS 版本是 Ultimate 2012 Update 3。