2017-06-16 66 views
0

我使用Visual Studio 2017年15.2(26430.12)
我创建的WebAPI 2空项目
然后添加一个控制器,如下所示:空的WebAPI 2项目抛出的StackOverflow异常在VS2017 15.2(26430.12)

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/发生异常时!没有任何细节
它有什么问题?从Windows事件查看器 WebApi 2 Empty project stackoverflow

详情:

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: 

编辑:
项目的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> 
+0

我看不出代码在问题中可能会给你这个例外。这个项目中还有其他的东西。 – Amy

+0

其实我什么都没做,只是新建项目>空WebApi 2 - >添加DefaultController>开始 –

+1

向我们展示你的web.Config – Amy

回答

2

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

+0

谢谢,我删除了'.vs'目录,我的问题解决了。 –

+0

欢迎您!对于它的价值,我可以说很少,为什么这会起作用,或者是什么条件导致这些事情进入这样一个奇怪的状态,只是我知道它经常与许多IIS表达错误一起工作。通常情况下,这对我来说成了问题,当时开发人员神秘地将.vs文件夹检入源代码控制。 – Trioj