空WebApi 2项目在VS2017 15.2中抛出StackOverflow异常(26430.12)

时间:2017-06-16 17:45:23

标签: c# asp.net-web-api asp.net-web-api2 webapi2

我正在使用Visual Studio 2017 15.2(26430.12)
我创建了一个WebApi 2空项目
然后添加一个控制器,如下所示:

public class DefaultController : ApiController
{
    // GET: api/Default
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET: api/Default/5
    public string Get(int id)
    {
        return "value";
    }

    // POST: api/Default
    public void Post([FromBody]string value)
    {
    }

    // PUT: api/Default/5
    public void Put(int id, [FromBody]string value)
    {
    }

    // DELETE: api/Default/5
    public void Delete(int id)
    {
    }
}

没有任何其他更改,我启动项目,当我导航到http://localhost:51989/api/Default/后发生异常!没有任何细节 它出什么问题了? WebApi 2 Empty project stackoverflow

来自Windows事件查看器的详细信息:

Faulting application name: iisexpress.exe, version: 10.0.14358.1000, time stamp: 0x574fc56b
Faulting module name: iiscore.dll, version: 10.0.14358.1000, time stamp: 0x574fc56c
Exception code: 0xc00000fd
Fault offset: 0x00018992
Faulting process id: 0x794
Faulting application start time: 0x01d2e6c78b37e814
Faulting application path: C:\Program Files (x86)\IIS Express\iisexpress.exe
Faulting module path: C:\Program Files (x86)\IIS Express\iiscore.dll
Report Id: 088d1dfb-6a5d-4fcb-bfab-e85185d1c6a5
Faulting package full name: 
Faulting package-relative application ID: 

修改
Project Web.config

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  https://go.microsoft.com/fwlink/?LinkId=301879
  -->
<configuration>
  <appSettings></appSettings>
  <system.web>
    <compilation debug="true" targetFramework="4.5"/>
    <httpRuntime targetFramework="4.5"/>
  </system.web>
  <system.webServer>
    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
      <remove name="OPTIONSVerbHandler"/>
      <remove name="TRACEVerbHandler"/>
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler"
        preCondition="integratedMode,runtimeVersionv4.0"/>
    </handlers>
  </system.webServer>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35"/>
        <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb"
        type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
        warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
    </compilers>
  </system.codedom>
</configuration>

1 个答案:

答案 0 :(得分:2)

对于它的价值,使用与您相同的VS版本,在Windows 10上,我能够创建测试应用程序并在不遇到此问题的情况下播放它。我也使用相同版本的IIS express。我不认为脚手架代码有什么问题。如果存在,您是否可以尝试删除解决方案根目录中的(隐藏).vs目录,看看是否可以解决问题?由于解决方案的.vs目录和您自己的Documents \ IISExpress目录之间的applicationhost.config存在差异,我之前发现了一些奇怪的现象。还有一个关于类似问题的类似线程,它提供了额外的调试建议:IIS Express crashes when starting a site from visual studio