IIS Express调试不再工作

时间:2015-06-17 14:33:47

标签: iis asp.net-web-api

我在Windows 8.1 x64上将IIS Express与Visual Studio 2013一起用于WebAPI 2应用程序(所有这里都是en-US)。大约一个月前,这种方法运行得很好,但现在我在尝试调试应用程序时遇到错误。

如果我不以管理员身份运行VS(再次,之前不需要这样做),我得到:

A first chance exception of type 'System.UnauthorizedAccessException' occurred in mscorlib.dll

Additional information: Access to the path 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\~AspAccessCheck_c00414062044.tmp' is denied.

此后发生第二个错误,如果我以管理员身份运行VS,则会出现第一个错误:

A first chance exception of type 'System.Globalization.CultureNotFoundException' occurred in mscorlib.dll

Additional information: Culture is not supported.

如果我从WebMatrix 3运行相同的WebAPI应用程序,它运行时没有错误(运行或不运行'作为管理员')。

项目IIS配置设置:

<UseIISExpress>true</UseIISExpress>
<IISExpressSSLPort>46435</IISExpressSSLPort>
<IISExpressAnonymousAuthentication>enabled</IISExpressAnonymousAuthentication>
<IISExpressWindowsAuthentication>disabled</IISExpressWindowsAuthentication>
<IISExpressUseClassicPipelineMode>false</IISExpressUseClassicPipelineMode>

我还在http://localhost:46436上运行了应用程序。

我也觉得非常奇怪的是,项目属性显示“IIS Express”并使用http://localhost:46436/的URL,但在我看到的项目文件中:

  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
        <WebProjectProperties>
          <UseIIS>True</UseIIS>
          <AutoAssignPort>True</AutoAssignPort>
          <DevelopmentServerPort>46435</DevelopmentServerPort>
          <DevelopmentServerVPath>/</DevelopmentServerVPath>
          <IISUrl>http://localhost:46436</IISUrl>

这可能解释了我的访问被拒绝。无论我是否设置,保存并重新设置为使用IIS Express(将其存储给所有用户),<UseIIS>属性都将设置为true。

编辑:看起来像“使用IIS”是正常的。我创建了一个新的WebAPI 2项目作为测试。它在IIS Express OOTB下运行良好。

2 个答案:

答案 0 :(得分:2)

我也遇到过这个问题。完成必须右键单击相关文件夹并为IIS_IUSR帐户添加访问权限。

如果这不会导致严重错误,您还可以通过调试 - &gt;禁用此类问题的中断模式。选项 - &gt;调试并选中启用我的代码(仅管理)

答案 1 :(得分:0)

我通过&#39;管理NuGet套餐更新了所有套餐&#39;控制台,它开始工作。