publickeytoken 31bf3856ad364e35 что это
Ошибка при запуске приложения, которая решается только путем Copy Local = true
Could not load file or assembly ‘System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. Не удается найти указанный файл.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.IO.FileNotFoundException: Could not load file or assembly ‘System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. Не удается найти указанный файл.
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Assembly Load Trace: The following information can be helpful to determine why the assembly ‘System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ could not be loaded.
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
[FileNotFoundException: Could not load file or assembly ‘System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. Не удается найти указанный файл.]
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) +0
System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName) +314
System.Type.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +95
System.Web.Compilation.BuildManager.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase) +124
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +76
[ConfigurationErrorsException: Could not load file or assembly ‘System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. Не удается найти указанный файл.]
System.Web.Configuration.ConfigUtil.GetType(String typeName, String propertyName, ConfigurationElement configElement, XmlNode node, Boolean checkAptcaBit, Boolean ignoreCase) +11355388
System.Web.Configuration.Common.ModulesEntry.SecureGetType(S tring typeName, String propertyName, ConfigurationElement configElement) +69
System.Web.Configuration.Common.ModulesEntry..ctor(String name, String typeName, String propertyName, ConfigurationElement configElement) +62
System.Web.HttpApplication.BuildIntegratedModuleCollection(L ist`1 moduleList) +301
System.Web.HttpApplication.GetModuleCollection(IntPtr appContext) +1332
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS (IntPtr appContext, HttpContext context, MethodInfo[] handlers) +149
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, MethodInfo[] handlers, IntPtr appContext, HttpContext context) +325
System.Web.HttpApplicationFactory.GetSpecialApplicationInsta nce(IntPtr appContext, HttpContext context) +407
System.Web.Hosting.PipelineRuntime.InitializeApplication(Int Ptr appContext) +375
[HttpException (0x80004005): Could not load file or assembly ‘System.ServiceModel.DomainServices.Hosting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. Не удается найти указанный файл.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +11524352
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +141
System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS 7WorkerRequest wr, HttpContext context) +4782309
, выставляю для нее Copy Local = true, ошибка исчезает. Таких сборок несколько. Я подозреваю, что что-то неправильно в web.config.
Заранее всем спасибо!
Восстановление компонента прямой заменой файлов
В данной статье описан метод ручного восстановления хранилища компонентов Windows. Подобные описанному в данном посте методу восстановления работоспособности компонентной модели рождаются вовсе не от хорошей жизни, появляются они под воздействием многочисленных проблем с компонентной моделью операционной системы. Во многих случаях официальные подходы к восстановлению хранилища компонентов не помогают, помимо этого отсутствует какая бы то ни было внятная официальная документация, из чего складывается недопонимание структуры и принципов работы компонентной модели. При подобном отношении со стороны разработчиков абсолютно любые средства вернуть компонентную модель в работоспособное состояние приемлемы!! Как показывает практика, при всех стараниях разработчиков из Microsoft предоставить возможность конечному пользователю системы устранять возникающие проблемы в автоматическом режиме (при помощи специальных утилит), никогда полностью не будут исключены ситуации, в которых эти самые автоматизированные средства будут давать сбои. Причина тут кроется в симбиозе старых механизмов операционной системы и необходимостью постоянного внедрения новых (не оттестированных) технологий, должным образом не заботясь о приведении в надлежащее состояние всех связанных (участвующих) компонентов, что, в свою очередь, порождает огромное количество проблем.
В данной публикации речь пойдет о восстановлении компонента прямой заменой файлов. Фактически методом предусматривается прямая ручная замена поврежденных [кривых, неправильно функционирующих] файлов, являющихся причиной возникновения ошибок, а так же частей реестра. По этой методике, исправные файлы и соответствующие ключи реестра копируются с работоспособной станции-донора. Слабое место метода в том, что для реализации требуется наличие находящейся на том же уровне обновлений нормально функционирующей операционной системы той же версии/ревизии.
В процессе повествования постараемся описать общую методику, тем не менее, в статье будут присутствовать частные случаи из практики.
Определение виновника проблемы
В этом разделе мы опишем принцип поиска битых файлов в составе иерархии каталогов компонентной модели, являющихся причиной возникновения сбоев. Так же попытаемся классифицировать все возможные источники информации о сбойных модулях.
Ошибки в лог-файлах
Не удалось загрузить файл или сборку ‘Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ‘ или одна из его зависимостей
обновление произошло вчера вечером, и теперь я не могу сделать ctrl + ‘.’для предложений кода в VS 2015. Появляется сообщение об ошибке, в котором говорится следующее:
не удалось загрузить файл или сборку ‘Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ‘ или одна из его зависимостей. Система не может найти указанный файл.
Я еще могу строить и развивать, но это будет очень раздражать и без этого особенность. Я признаю это, я становлюсь мягким!
У кого-нибудь есть предложение по исправлению этой ошибки?
9 ответов:
У меня была такая же проблема с обновлением Visual Studio 2015 2, чтобы решить проблему глобально для всех решений, обновите до Visual Studio 2015 Update 3. Вот ссылка: скачать здесь
как указывает @CaptainAmerica, решение заключается в обновлении сборки CodeDom из NuGet. Следует указать, как это сделать в Visual Studio. Я нашел решение здесь:
в основном, в меню Visual Studio выберите:
в консоли, которая появляется в нижней части Visual Studio выполните это команда:
если какой-либо из вариантов не работает, вот подробное руководство для обработки этого сценария.
в первую очередь это важно. Обратите внимание на версию, указанную в ошибке.
если вы видите выше ошибку, это означает, что он не в состоянии найти версию 1.3.1. Теперь, пожалуйста, создайте новый проект VS. Никаких предпочтений, это может быть просто простое консольное приложение. Теперь, когда шаблон проекта готов, перейдите в Диспетчер пакетов и выполните следующую команду с указанным вами версия.
это установит все пакеты. Пусть это завершится. Как только это будет сделано. Нам не нужен этот вновь созданный проект. Вы можете удалить его полностью. Серьезно! вы можете удалить его. Мы сделали это, потому что мы хотели, чтобы этот пакет был установлен на глобальном уровне nuget. Когда вы устанавливаете что-то, nuget сохраняет его на глобальном уровне вашей машины. Путь будет что-то вроде этого.
вы можете узнать свой путь следующий.
теперь вы увидите ваши необходимые Microsoft.CodeAnalysis.dll там в следующей папке.
Пожалуйста, обратите внимание, что выше Путь содержит номер версии (1.3.1). Если ваша версия отличается, загляните в эту папку версий.
теперь, когда у вас есть dll с вами, все, что вам нужно сделать, это добавить эту dll в GAC. Для этого вам понадобится GacUtil.exe
этот файл Сделать уже установлен вместе с Visual Studio. Вы можете искать «GacUtil» в C drive. Для меня это было по пути.
теперь запустите командную строку от имени администратора и перейдите в текущий каталог к вашему пути, содержащему GacUtil. Выполните команду ниже, чтобы установить эту dll в GAC.
в основном обеспечивая путь к dll мы установили глобально. Он покажет сообщение об успешной установке.
вот и все! Теперь снова запустите Visual Studio и вы получите эту проблему.
Я нашел это страница и в нижней части страницы в разделе » совместимость с ASP.NET-здесь сказано, что ASP.NET использует пакет nuget Microsoft.граф CodeDOM.Услуги поставщиков.DotNetCompilerPlatform для обновления Microsoft.CodeAnalysis сборки. Поэтому я обновил пакет DotNetCompilerPlatform с 1.0.0 до 1.0.3, и он снова работает! Да, жизнь снова хороша!
Я получил файл Microsoft.CodeAnalysis.dll С C:/Users/[пользователь]/.nuget / packages / Microsoft.CodeAnalysis.Common/1.3.2/lib/portable-net45+win8 / Microsoft.CodeAnalysis.dll.
чтобы установить сборку в GAC, я использовал сценарий PowerShell из https://github.com/LTruijens/powershell-gac.
наконец, мне удалось установить сборку в GAC с помощью следующей команды из PowerShell:
Я также столкнулся с той же проблемой. Моя версия visual studio 2015 была 2.0. Я обновил его до версии 3.
Я решил проблему таким образом:
обновить Visual studio 2015 до обновление 3
в меню выбираем View = > Notifications = > Visual Studio Update 3 и нажал кнопку Обновить.
я исправил эту проблему, обновив все зависимости NuGet Microsoft до версии 2.0.0. 0. Это было использование VS 2017. Я использовал предварительную версию.
в моем случае ошибка произошла после выключения живого модульного тестирования и запуска тестов вручную.Некоторые тесты не будут работать с приведенным выше сообщением об ошибке.
Что такое «publickeytoken=31bf3856ad364e35»?
Мне очень любопытно узнать, что это за штука называется «publickeytoken=31bf3856ad364e35» и для чего она используется?
1 ответ
Я получаю следующую ошибку ниже после открытия и компиляции моего проекта MVC4 в VS 2010. К возникновению ошибки cs1705: Assembly ‘SDEM, версия=1.0.0.0, культуры=нейтральный, PublicKeyToken=null’ использует ‘System.Web.Mvc, версия=4.0.0.1, культуры=нейтральный, PublicKeyToken=31bf3856ad364e35’.
Мы работаем над веб-приложением, и цель deployment включает в себя Windows 2003 64-bit. Когда мы запускаем приложение на 64-bit OS, оно выдает следующую ошибку: The entry ‘asp:System.Web.UI:System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ has already been.
Я не эксперт по токенам с открытым ключом. Тем не менее, я думаю, что это publickeytoken многих библиотек DLL, подписанных Microsoft. Поскольку они используют одну и ту же пару закрытого ключа и открытого ключа, это приводит к тому, что publickeytoken=31bf3856ad364e35 появляется во многих разных ссылках dll.
Возможно, этот ответ может дать вам дополнительное объяснение.
Похожие вопросы:
Я не могу сказать, откуда берется это имя, версия, культура и ссылка. Я включил регистрацию в реестре, как это было предложено ошибкой, и подтвердил, что файлы в подробном выводе не имеют этой.
Я получаю следующую ошибку ниже после открытия и компиляции моего проекта MVC4 в VS 2010. К возникновению ошибки cs1705: Assembly ‘SDEM, версия=1.0.0.0, культуры=нейтральный, PublicKeyToken=null’.
Мы работаем над веб-приложением, и цель deployment включает в себя Windows 2003 64-bit. Когда мы запускаем приложение на 64-bit OS, оно выдает следующую ошибку: The entry.
Мы не смогли автоматически заполнить ваши учетные записи Visual Studio Team Services. Была обнаружена следующая ошибка: TF400813: ресурс недоступен для анонимного доступа. Средства аутентификации.
Я попытался использовать ведение журнала в корпоративной библиотеке 6.0 в VS2015, и появилось следующее исключение. Ссылка Microsoft.Practices.EnterpriseLibray.Common уже добавлена в список.
Мой сайт DNN работал нормально, пока я не добавил к нему новый модуль. Как только я создал новый модуль в VS 2015 DNN и добавил его на сайт, эта ошибка начала возникать. 2016-10-05 12:37:38,851.
Я прошел через многие ответы, которые отвечали раньше, но мне не повезло найти решение моей проблемы. Это не может загрузить файл или assembly ‘System.Web.WebPages.Razor, Version=3.0.0.0.
Не удалось загрузить файл или сборку ‘Microsoft.CodeAnalysis, версия= 1.3.1.0, культура=нейтральных, PublicKeyToken=31bf3856ad364e35’ или один из его dependenc
обновление произошло прошлой ночью, и теперь я не могу сделать ctrl + ‘.»для предложений кода в VS 2015. Появляется сообщение об ошибке, в котором говорится следующее:
не удалось загрузить файл или сборку ‘Microsoft.CodeAnalysis, version= 1.3.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 ‘ или одна из его зависимостей. Система не может найти указанный файл.
Я еще могу строить и развивать, но это будет очень раздражать и без этого особенность. Признаюсь, я становлюсь мягкотелым!
У кого-нибудь есть предложение по исправлению этой ошибки?
9 ответов
У меня была такая же проблема с Visual Studio 2015 Update 2, чтобы решить проблему глобально для всех решений, обновите до Обновление Visual Studio 2015 3. Вот ссылка: скачать здесь
Как указал @CaptainAmerica, решение заключается в обновлении сборки CodeDom из NuGet. Следует указать, как это сделать в Visual Studio. Я нашел решение здесь:
в основном, в меню Visual Studio выберите:
в консоли, которая появляется в нижней части Visual Studio запустите это команда:
если какой-либо из вариантов не работает, вот подробное руководство по обработке этого сценария.
прежде всего версия важна. Обратите внимание на версию, указанную в ошибке.
если вы видите выше ошибку, это означает, что он не может найти версию 1.3.1. Теперь, пожалуйста, создайте новый проект VS. Нет предпочтений, это может быть просто простое консольное приложение. Теперь, когда шаблон проекта готов, перейдите в Диспетчер пакетов и выполните следующую команду с указанным вами версия.
это установит все пакеты. Пусть он завершится. Как только все будет сделано. Нам совсем не нужен этот новый проект. Вы можете удалить его полностью. Серьезно! вы можете удалить его. Мы сделали это, потому что мы хотели, чтобы этот пакет был установлен на глобальном уровне nuget. Когда вы устанавливаете что-то, nuget сохраняет его на глобальном уровне вашей машины. Путь будет чем-то вроде этого.
вы можете знать свой путь следующий.
теперь вы увидите ваш необходимый Microsoft.CodeAnalysis.dll файлы там в следующей папке.
Пожалуйста, обратите внимание, что выше Путь содержит номер версии (1.3.1). Если ваша версия отличается, посмотрите в эту папку версии.
теперь, когда у вас есть dll с вами, все, что вам нужно сделать, это добавить эту dll в GAC. Для этого вам понадобится GacUtil.exe
этот файл Сделать уже установлен вместе с Visual Studio. Вы можете искать «GacUtil»в диске C. Для меня это было по пути.
теперь запустите командную строку от имени администратора и перейдите в текущий каталог к пути, содержащему GacUtil. Выполните команду ниже, чтобы установить эту dll в GAC.
в основном обеспечивая путь к dll мы установили глобально. Он покажет сообщение об успешной установке.
вот и все! Сейчас снова начинают свой визуальный Studio и вы получите эту проблему.
Я нашел это страница и в нижней части страницы в разделе » совместимость с ASP.NET-здесь сказано, что ASP.NET использует пакет nuget Microsoft.граф CodeDOM.Услуги поставщиков.DotNetCompilerPlatform для обновления Microsoft.CodeAnalysis сборки. Поэтому я обновил пакет DotNetCompilerPlatform с 1.0.0 до 1.0.3, и он снова работает! Да, жизнь снова хороша!
чтобы решить эту проблему для всех решений, мне нужно установить сборку Microsoft.CodeAnalysis.dll файлы непосредственно GAC-глобальный кэш сборок.
Я получил файл Microsoft.CodeAnalysis.dll файлы С C:/Users/[пользователь]/.nuget / пакеты / Microsoft.CodeAnalysis.Common/1.3.2/lib/portable-net45+win8/Microsoft.CodeAnalysis.dll файлы.
чтобы установить сборку в GAC, я использовал сценарий PowerShell из https://github.com/LTruijens/powershell-gac.
наконец, мне удалось установить сборку в GAC со следующей командой из PowerShell:
Я также столкнулся с той же проблемой. Моя версия visual studio 2015 была 2.0. Я обновил его до версии 3.
Я решил проблему таким образом:
обновить Visual studio 2015 до обновление 3
в меню выбираем Просмотр = > Уведомления => Обновление Visual Studio 3 и нажал кнопку Обновить.
я исправил эту проблему, обновив все зависимости NuGet Microsoft до v2.0.0. Это было использование VS 2017. Я использовал предварительную версию.
в моем случае ошибка произошла после выключения живого модульного тестирования и запуска тестов вручную.Некоторые тесты потерпят неудачу с вышеуказанным сообщением об ошибке.