无法加载文件或程序集'netstandard,版本 = 2.0.0.0
Posted
技术标签:
【中文标题】无法加载文件或程序集\'netstandard,版本 = 2.0.0.0【英文标题】:Could not load file or assembly 'netstandard, Version=2.0.0.0无法加载文件或程序集'netstandard,版本 = 2.0.0.0
【发布时间】:2018-10-04 15:43:40
【问题描述】:
部署 .net framework 4.5.2 web api 后出现以下错误。
无法加载文件或程序集 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 或其依赖项之一。系统找不到指定的文件。`
这不会发生在所有端点上,只有一个,我正在使用 Microsoft.Xrm.Sdk。
问题是它刚刚开始发生,没有更新任何包。最糟糕的是,在调试时它不会在本地发生,即使使用发布模式构建也是如此。
我对正在部署的服务器没有太多控制权,但我知道它是在 64 位 Windows Server Core 2012 R2/1.2.0 (aws) 上运行的 IIS 8.5。开始发生此问题时,机器尚未更改其配置。
这是完整的堆栈跟踪:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg)
在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型)
在 Microsoft.Xrm.Sdk.IOrganizationService.Execute(组织请求请求)
在 Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.ExecuteCore(组织请求请求)
在 Microsoft.Xrm.Sdk.Client.OrganizationServiceContext.Execute(组织请求请求)
在 Microsoft.Xrm.Sdk.Linq.QueryProvider.RetrieveEntityCollection(OrganizationRequest 请求,NavigationSource 源)
在 Microsoft.Xrm.Sdk.Linq.QueryProvider.Execute(QueryExpression qe,布尔 throwIfSequenceIsEmpty,布尔 throwIfSequenceNotSingle,投影投影,NavigationSource 源,List`1 链接查找,字符串和 pagingCookie,布尔和更多记录)
在 Microsoft.Xrm.Sdk.Linq.QueryProvider.Execute[TElement](QueryExpression qe,布尔 throwIfSequenceIsEmpty,布尔 throwIfSequenceNotSingle,投影投影,NavigationSource 源,List`1 链接查找)
在 Microsoft.Xrm.Sdk.Linq.QueryProvider.Execute[TElement](表达式表达式)
在 Microsoft.Xrm.Sdk.Linq.QueryProvider.System.Linq.IQueryProvider.Execute[TResult](表达式表达式)
在 MyCrmLibrary.Crm.GetUser(Guid id)
在 MyLibrary.Services.User.UserService.c__DisplayClass8_0.b__2()
在 System.Threading.Tasks.Task`1.InnerInvoke()
在 System.Threading.Tasks.Task.Execute() --- 从先前抛出异常的位置结束堆栈跟踪---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 MyLibrary.Services.User.UserService. d__8.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 C:\\myapi\\Controllers\\MyController.cs:line 143 中的 MyApi.Controllers.MyController.d__19.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Threading.Tasks.TaskHelpersExtensions.d__3`1.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Web.Http.Controllers.ApiControllerActionInvoker.d__0.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)
在 System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext()--- 堆栈跟踪从上一个引发异常的位置结束---
在 System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)
在 System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
我如何知道可能导致问题的原因?
【问题讨论】:
【参考方案1】:
这是另一个程序集的问题。使用 Fuslogvw.exe (Assembly Binding Log Viewer) 查看依赖关系。
【讨论】:
以上是关于无法加载文件或程序集'netstandard,版本 = 2.0.0.0的主要内容,如果未能解决你的问题,请参考以下文章
.NET Standard依赖问题,吐血推荐未能加载文件或程序集“netstandard, Version=2.0.0.0, Culture=neutral
Visual Studio 2017 - 无法加载文件或程序集“System.Runtime,Version=4.1.0.0”或其依赖项之一
无法加载文件或程序集 'PayPalAdaptivePaymentsSDK,版本 = 2.12.117.0
无法加载文件或程序集'WebGrease,版本 = 1.5.1.25624 - 或任何其他版本
无法加载文件或程序集'Ninject 版本 4.0.0.0
无法加载文件或程序集 'Microsoft.SqlServer.Smo,版本 = 10.0.0