Когда я пытаюсь подключиться к базе данных MS CRM с помощью OrganizationService RetrieveMultiple во время выполнения, мой сайт отказывает за исключением:
System.IO.FileNotFoundException:
S'C:\Users\...\AppData\Local\Temp\Temporary ASP.NET SFiles\vs\96f9bce8\47970a72\assembly\dl3\c0a0fff4\8624e78b_20f2d501\Microsoft.Xrm.Sdk.dll'
Sat System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
Sat Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.GetXrmSdkAssemblyFileVersion()
Sat Microsoft.Xrm.Sdk.Client.OrganizationServiceContextInitializer.Initialize()
Sat Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveMultipleCore(QueryBase query)
Sat Microsoft.Xrm.Sdk.Client.OrganizationServiceProxy.RetrieveMultiple(QueryBase query)
Sat Microsoft.Xrm.Client.Services.OrganizationService.<>c__DisplayClass22.<RetrieveMultiple>b__21(IOrganizationService s)
Sat Microsoft.Xrm.Client.Services.OrganizationService.InnerOrganizationService.UsingService[TResult](Func2 action)
Sat Microsoft.Xrm.Client.Services.OrganizationService.RetrieveMultiple(QueryBase query)
Sat KB_BusinessPortal.DAL.CRMContext.RetrieveMoreThan5000Rows[T](OrganizationService service, QueryExpression query)
Sat KB_BusinessPortal.DAL.CRMContext.GetAccounts(Nullable1 keyAccountManagerId)
Sat KB_BusinessPortal.Controllers.AccountsController.Index()
Sat lambda_method(Closure , ControllerBase , Object[] )
Sat System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
Sat System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2 parameters)
Sat System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters)
Sat System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
Sat System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult2.CallEndDelegate(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End()
Sat System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
Sat System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
Sat System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
Но файл существует в этом месте:
Я также уже получил эту DLL в моем проекте Visual Studio, так что я понятия не имею, Почему он пытается использовать временные файлы:
Почему идеи, почему это будет происходить?
Мое лучшее предположение - возможно, временный файл dll - это неправильная версия, но я понятия не имею, что это должно быть или как это изменить. Также я предполагаю, что временные файлы приходят из локальной установки sdk или crm на моем компьютере, может ли это потребоваться обновление или установлена новая версия?
РЕДАКТИРОВАТЬ: Я обнаружил, что удаление
<identity impersonate="true" />
из web.config останавливает проблему ... почему это может повлиять на dll ??
К сожалению, мне действительно нужна эта строка, чтобы я мог быть надлежащим образом аутентифицирован для моей системы CRM, так что если кто-то может помочь с оригинальной проблемой, которая будет удивительной