ASP.NET vNext - MissingMethodException: Method not found: Microsoft.CodeAnalysis.Diagnostic> EmitResult.get_Diagnostics()'

大城市里の小女人 提交于 2019-12-10 14:14:25

问题


I upgraded this morning to VS2015 RC, and I created a new project using the ASP.NET 5 Template - Web Site. I have an error that I am not able to solve:

An unhandled exception occurred while processing the request.

MissingMethodException: Method not found: 'System .Collections.Immutable.ImmutableArray`1 Microsoft.CodeAnalysis.Emit.EmitResult.get_Diagnostics()'.

Microsoft.AspNet.Mvc.Razor.RoslynCompilationService.Compile(RelativeFileInfo fileInfo, String compilationContent)

Here is the full error stack:

MissingMethodException: Method not found: 'System.Collections.Immutable.ImmutableArray`1 Microsoft.CodeAnalysis.Emit.EmitResult.get_Diagnostics()'.

Microsoft.AspNet.Mvc.Razor.RoslynCompilationService.Compile(RelativeFileInfo fileInfo, String compilationContent)

Microsoft.AspNet.Mvc.Razor.RazorCompilationService.Compile(RelativeFileInfo file)

Microsoft.AspNet.Mvc.Razor.CompilerCache.OnCacheMiss(RelativeFileInfo file, String normalizedPath, Func`2 compile)

Microsoft.AspNet.Mvc.Razor.CompilerCache.GetOrAddCore(String relativePath, Func`2 compile)

Microsoft.AspNet.Mvc.Razor.CompilerCache.GetOrAdd(String relativePath, Func`2 compile)

Microsoft.AspNet.Mvc.Razor.VirtualPathRazorPageFactory.CreateInstance(String relativePath)

Microsoft.AspNet.Mvc.Razor.RazorViewEngine.LocatePageFromViewLocations(ActionContext context, String pageName, Boolean isPartial)

Microsoft.AspNet.Mvc.Razor.RazorViewEngine.GetRazorPageResult(ActionContext context, String pageName, Boolean isPartial)

Microsoft.AspNet.Mvc.Razor.RazorViewEngine.FindView(ActionContext context, String viewName)

Microsoft.AspNet.Mvc.Rendering.CompositeViewEngine.FindView(ActionContext context, String viewName, Boolean partial)

Microsoft.AspNet.Mvc.Rendering.CompositeViewEngine.FindView(ActionContext context, String viewName)

Microsoft.AspNet.Mvc.ViewResult.d__20.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Mvc.Core.FilterActionInvoker.d__44.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Mvc.Core.FilterActionInvoker.d__43.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Mvc.Core.FilterActionInvoker.d__42.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Mvc.Core.FilterActionInvoker.d__37.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Mvc.Core.FilterActionInvoker.d__32.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Mvc.MvcRouteHandler.d__3.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Mvc.MvcRouteHandler.d__2.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Routing.Template.TemplateRoute.d__25.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Routing.RouteCollection.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Builder.RouterMiddleware.d__4.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Authentication.AuthenticationMiddleware`1.d__10.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

System.Threading.Tasks.EntityFrameworkTaskExtensions.CultureAwaiter.GetResult()

Microsoft.AspNet.Diagnostics.Entity.DatabaseErrorPageMiddleware.d__6.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()

Microsoft.AspNet.Diagnostics.Entity.DatabaseErrorPageMiddleware.d__6.MoveNext()

--- End of stack trace from previous location where exception was thrown ---

System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)

System.Runtime.CompilerServices.TaskAwaiter.GetResult()

Microsoft.AspNet.Diagnostics.ErrorPageMiddleware.d__4.MoveNext()

My project.json file is the same as provided in the template:

{
  "webroot": "wwwroot",
  "userSecretsId": "aspnet5-WebApplication2-2819f43f-7688-4637-89a0-d22341b36a64",
  "version": "1.0.0-*",

  "dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta4",
    "EntityFramework.Commands": "7.0.0-beta4",
    "Microsoft.AspNet.Mvc": "6.0.0-beta4",
    "Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-beta4",
    "Microsoft.AspNet.Authentication.Cookies": "1.0.0-beta4",
    "Microsoft.AspNet.Authentication.Facebook": "1.0.0-beta4",
    "Microsoft.AspNet.Authentication.Google": "1.0.0-beta4",
    "Microsoft.AspNet.Authentication.MicrosoftAccount": "1.0.0-beta4",
    "Microsoft.AspNet.Authentication.Twitter": "1.0.0-beta4",
    "Microsoft.AspNet.Diagnostics": "1.0.0-beta4",
    "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta4",
    "Microsoft.AspNet.Identity.EntityFramework": "3.0.0-beta4",
    "Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
    "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
    "Microsoft.AspNet.StaticFiles": "1.0.0-beta4",
    "Microsoft.AspNet.Tooling.Razor": "1.0.0-beta4",
    "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4",
    "Microsoft.Framework.ConfigurationModel.UserSecrets": "1.0.0-beta4",
    "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta4",
    "Microsoft.Framework.Logging": "1.0.0-beta4",
    "Microsoft.Framework.Logging.Console": "1.0.0-beta4",
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta4"
  },

  "commands": {
    "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000",
    "gen": "Microsoft.Framework.CodeGeneration",
    "ef":  "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "publishExclude": [
    "node_modules",
    "bower_components",
    "**.xproj",
    "**.user",
    "**.vspscc"
  ],
  "scripts": {
    "postrestore": [ "npm install", "bower install" ],
    "prepare": [ "gulp copy" ]
  }
}

When I run a dnvm list command:

> dnvm list

Active Version              Runtime Architecture Location                     Alias
------ -------              ------- ------------ --------                     -----
       1.0.0-beta4          clr     x64          <mypath>\.dnx\packages
       1.0.0-beta4          clr     x86          <mypath>\.dnx\packages
       1.0.0-beta4          coreclr x64          <mypath>\.dnx\packages
       1.0.0-beta4          coreclr x86          <mypath>\.dnx\packages
       1.0.0-beta5-11596    clr     x86          <mypath>\.dnx\packages 
  *    1.0.0-beta5-11624    clr     x86          <mypath>\.dnx\packages       default

I tried to use as well the 1.0.0-beta5-11596 and the 1.0.0-beta4 clr but I get the same result.

Any idea?

Thanks.


回答1:


I think David is right, I had the same issue and I was able to resolve it by:

  • Opening the %USERPROFILE%\.dnx directory
  • Deleting everything from the packages directory
  • Deleting the beta5 directories from the runtimes directory
  • Changing the value of the defaults.txt in the alias dir to point to one of the beta4 runtimes

Once I did that I opened the project back up, the packages restored successfully and I was able to run the application. For whatever reason the defaults.txt was pointed at the beta5 runtime for whatever reason, assuming this was set sometime when playing around with the command line tooling.

Hope that works for you too!



来源:https://stackoverflow.com/questions/29966585/asp-net-vnext-missingmethodexception-method-not-found-microsoft-codeanalysis

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!