Не удалось загрузить файл или сборку
Когда я пытаюсь выполнить отладку в Visual Studio 2008, я получаю следующую ошибку. Я очистил временную папку ASP.NET и перезапустил VS. Я также удалил якобы нарушение ссылки и добавил его обратно. Но ничего не работает. Кто-нибудь сталкивался с подобными ситуациями и есть ли решение?
Не удалось загрузить файл или сборку "GCS.Common(asif mohammed's конфликтная копия 2010-01-29)" или один его зависимостей. Данный имя сборки или кодовая база недействительны. (Исключение из HRESULT: 0x80131047)
[FileLoadException: не удалось загрузить файла или сборки "GCS.Common(asif Мохаммед 2010-01-29)" или один из его зависимостей. Название данной сборки или кодовая база недействительна. (Исключение от HRESULT: 0x80131047)]
System.Reflection.AssemblyName.nInit(Монтаж & сборка, Boolean forIntrospection, Boolean raiseResolveEvent) +0
System.Reflection.Assembly.InternalLoad(String assemblyString, Доказательство assemblySecurity, StackCrawlMark & stackMark, Boolean forIntrospection) +114 System.Reflection.Assembly.Load(String assemblyString) +28
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +46
[ConfigurationErrorsException: возможно не загружать файл или сборку "GCS.Common(несогласная копия Асифа Мохаммеда 2010-01-29)" или один из его зависимостей. Название данной сборки или кодовая база недействительна. (Исключение от HRESULT: 0x80131047)]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203 System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +105
System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +178
System.Web.Compilation.BuildProvidersCompiler..ctor(VirtualPath configPath, Boolean supportLocalization, String outputAssemblyName) +54
System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly(VirtualPath virtualDir, CodeDirectoryType dirType, Строка assemblyName, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) +8809426
System.Web.Compilation.BuildManager.CompileCodeDirectory(VirtualPath virtualDir, CodeDirectoryType dirType, Строка assemblyName, StringSet excludedSubdirectories) +128
System.Web.Compilation.BuildManager.CompileCodeDirectories() +265 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +320
[HttpException (0x80004005): не удалось загрузить файл или сборку "GCS.Common(несогласная копия Асифа Мохаммеда 2010-01-29)" или один из его зависимостей. Название данной сборки или кодовая база недействительна. (Исключение от HRESULT: 0x80131047)]
System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +729
[HttpException (0x80004005): не удалось загрузить файл или сборку "GCS.Common(несогласная копия Асифа Мохаммеда 2010-01-29)" или один из его зависимостей. Название данной сборки или кодовая база недействительна. (Исключение от HRESULT: 0x80131047)]
System.Web.HttpRuntime.FirstRequestInit(HttpContext контекст) +8890735
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext контекст) +85
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +259
Ответы
Ответ 1
"* * * * * * * * конфликтная копия С#### - ## - ##"
Похоже, что вы используете dropbox для синхронизации файлов, этот файл "конфликтующих копий" создает, если 2 компьютера меняют один и тот же файл в автономном режиме.. и когда они получают онлайн-алгоритмы синхронизации Dropbox, смущает, какой файл правый, поэтому он сохраняет оба файла с переименованием одного на этот шаблон имени.
В вашем случае:
это произошло внутри вашего каталога bin проекта, просто удалите файл с частью "конфликтной копии" и сохраните другую. ИЛИ удалите оба, если ваш проект ссылается на dll из другого места и перестроит решение.
Ответ 2
Проблемы с загрузкой сборки - это то, что всем разработчикам .NET нужно научиться исправлять. Существует несколько возможных причин, чтобы решить проблему, есть две вещи, которые вам нужны. Первое понимание того, как .NET находит assesmblies. Во-вторых, Fusion Log Viewer (Fuslogvw.exe
), который с учетом процесса загрузки позволит вам определить, что работает и не работает.
Обычно причиной получения исключения загрузки является то, что сборка, которую вы хотите, не находится на пути GAC или зондирования. Это также может быть связано с тем, что целевая сборка не создается для необходимой платформы (например, 64-битный процесс не может загружать сборку, построенную только для "x86" ).
Ответ 3
Я был прав. Это было то, что вызвало мое программное обеспечение для контроля версий. Когда я получил последнюю версию, она каким-то образом добавила дополнительную копию всех моих собраний с (asif mohammed противоречивый экземпляр blah blah), после того, как я почти подумал о переустановке в VS, мне просто пришлось удалить скрытые dll, сидящие в моей файловой системе.
Спасибо за все ответы. Узнайте, как сборка загружается, поэтому все не потеряно.
Ответ 4
Полностью согласен с Ричардом...
Еще один намек: чтение трассы исключения я считаю, что "GCS.Common(asif mohammed противоречивая копия 2010-01-29)" - очень странное имя для сборки, не так ли?;-)
Вы переименовали какой-либо файл, возможно, в папку bin?
Ответ 5
Это не похоже на очень хорошее имя сборки, но если оно действительно существует...
Кажется, что вы вручную указываете эту сборку где-нибудь, возможно, в web.config?
если да, попробуйте использовать Квалифицированное имя Ассамблеи, пример будет найден в вашем web.config для любой сборки, на которой размещается microsoft, Не беспокойтесь о версии/культуре или ключе, обычно достаточно имени типа, имени сборки.
например. вместо:
'"GCS.Common (asif mohammed conflicted copy 2010-01-29)"
использование
'"GCS.Common (asif mohammed conflicted copy 2010-01-29), [insert assembly filename less extension here]"
p.s. мой совет - назвать сборки, используя те же правила, что и идентификаторы в С#. ваша жизнь будет проще в долгосрочной перспективе.