我有一个ASP.NET项目,该项目使用IIS.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>
...

当以这种方式配置project时,我可以从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.

我已try 从IIS Express applicationhost.config文件中删除项目站点配置,但无济于事.

在将项目映射到默认站点下的IIS应用程序时,我没有遇到此问题.

VS版本是旗舰版2012更新3.

推荐答案

以管理员身份打开并不能解决我的问题.为我解决这个问题的是打开both.csproj.csproj.user文件,并确保这两个文件都将UseIISExpress设置为false.

在我的例子中,.csproj.user文件覆盖了.csproj文件,尽管SaveServerSettingsInUserFile被标记为false.

<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <UseIISExpress>false</UseIISExpress> 
    <!-- ... -->
</Project>

Asp.net相关问答推荐

Reaction-Native SignalR连接在调试模式下工作,在释放模式下失败

如何在编译时为我的 ASP.NET 项目中的每个控制器生成一个单独的 OpenAPI Swagger.json 文件?

Swashbuckle 通过 .NET 应用程序中的 XML 注释使用格式标识符

ASP MVC 授权除少数之外的所有操作

ASP.NET @Register 与 @Reference

在 appSettings 中存储字符串数组?

控制器 SessionStateBehavior 是只读的,我可以更新会话变量

Webapi、Webhost和Owin的关系

无法复制文件.访问路径被拒绝

ASP.Net 自定义客户端验证

尽管安装了 AspNetCoreModule,但在 IIS 中运行 ASP.NET Core 应用程序时出现 0x8007000d 错误 500.19

在 asp.net 中将 JSON 转换为 .Net 对象时出错

如何从 ASP.Net 发布然后重定向到外部 URL?

如何获取部署在 Azure 网站上的 ASP.NET 5 应用程序的错误详细信息?

HttpContext.Current属性的跨线程使用及相关的东西

在 ASP.NET MVC 中获取服务器机器名称?

从物理路径获取相对虚拟路径

我可以在加载事件时从 C# 的 div 标记中动态添加 HTML 吗?

RegisterStartupScript 不适用于 ScriptManager、Updatepanel.这是为什么?

Windows 身份验证在本地 IIS 7.5 上不起作用.错误 401.1