2010-02-14 18 views
16

Wenn ich versuche, in Visual Studio 2008 zu debuggen, erhalte ich den folgenden Fehler. Ich habe den temporären ASP.NET-Ordner bereinigt und VS neu gestartet. Ich entfernte auch die vermeintlich brechende Referenz und fügte sie zurück. Aber nichts scheint zu funktionieren. Hat jemand ähnliche Situationen erlebt und gibt es eine Lösung?Konnte Datei oder Assembly nicht laden

konnte nicht Datei oder Assembly ' "GCS.Common (asif Konflikt Kopie 2010-01-29 Mohammeds)"' laden oder ein seiner Abhängigkeiten. Der angegebene Assemblyname oder Codebase war ungültig. (Ausnahme von HRESULT: 0x80131047)

[Fileloadexception: Konnte nicht Datei oder Assembly laden ' "GCS.Common (asif Mohammeds Konflikt Kopie 2010-01-29)"' oder einem seiner Abhängigkeiten. Der angegebene Assemblyname oder Codebase war ungültig. (Exception von HRESULT: 0x80131047)]
System.Reflection.AssemblyName.nInit (Assembly & Baugruppe, Boolean forIntrospection, Boolesche raiseResolveEvent) +0
System.Reflection.Assembly.InternalLoad (String assembly, Evidence assemblySecurity , StackCrawlMark & stackMark, Boolean forIntrospection) +114 System.Reflection.Assembly.Load (String assembly) +28
System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assembly, Boolean starDirective) +46

[Configuration: Könnte Datei oder Assembly nicht laden ' "GCS.Common (asif Mohammeds Konflikt Kopie 2010-01-29)"' oder einem seiner Abhängigkeiten. Der angegebene Assemblyname oder Codebase war ungültig. (Ausnahme von HRESULT: 0x80131047)]
System.Web.Configuration.CompilationSection.LoadAssemblyHelper (String assembly, Boolean starDirective) +613 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +203 System.Web.Configuration .CompilationSection.LoadAssembly (Assembly ai) +105
System.Web.Compilation.BuildManager.GetReferencedAssemblies (CompilationSection compConfig) +178
System.Web.Compilation.BuildProvidersCompiler..ctor (VirtualPath ConfigPath, Boolean supportLocalization, Zeichenfolge outputAssemblyName) +54
System.Web.Compilation.CodeDirectoryCompiler.GetCodeDirectoryAssembly (VirtualPath VirtualDir, CodeDirectoryType dirType, String assembly, StringSet excludedSubdirectories, Boolean isDirectoryAllowed) 8809426
System.Web.Compilation.BuildManager.CompileCodeDirectory (VirtualPath VirtualDir, CodeDirectoryType dirType, String assembly, StringSet excludedSubdirectories) +128
System.Web.Compilation.BuildManager.CompileCodeDirectories() +265 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +320

[Httpexception (0x80004005): Könnte nicht Last Datei oder Assembly ' "GCS.Common (asif Mohammeds Konflikt Kopie 2010-01-29)"' oder einem seiner Abhängigkeiten. Der angegebene Assemblyname oder Codebase war ungültig. (Exception von HRESULT: 0x80131047)]
System.Web.Compilation.BuildManager.ReportTopLevelCompilationException() +58 System.Web.Compilation.BuildManager.EnsureTopLevelFilesCompiled() +512 System.Web.Hosting.HostingEnvironment.Initialize (Application AppManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters) +729

[Httpexception (0x80004005): Könnte nicht Last Datei oder Assembly ‚" GCS.Common (asif Mohammeds Konflikt Kopie 2010-01-29) "oder einer seiner Abhängigkeiten. Der angegebene Assemblyname oder Codebase war ungültig. (Exception von HRESULT: 0x80131047)]
System.Web.HttpRuntime.FirstRequestInit (Httpcontext context) 8.890.735
System.Web.HttpRuntime.EnsureFirstRequestInit (Httpcontext context) +85
System.Web.HttpRuntime.ProcessRequestInternal (Httpworkerrequest wr) +259

Antwort

40

"* * * * * * * *‚s in Konflikt Kopie mit #### - ####"

Scheint, wie Sie Dropbox verwenden Dateien zu synchronisieren, diese "conflicted copy" Dateien Dropbox erstellt, wenn 2 Computer die gleiche Datei offline ändert .. und wenn sie Online-Dropbox Sync-Algorithmen verwirrt, welche Datei ist die richtige, so dass es beide Dateien mit der Umbenennung von einem zu diesem Namensmuster.

In Ihrem Fall:

dies innerhalb Ihres Projektes ist-Verzeichnis passiert ist, löschen Sie einfach die Datei mit „Konflikt Kopie“ Teil und hält die anderen .. oder löschen, wenn sowohl Ihr Projekt die DLL von einem anderen Ort verweisen, und Erstellen Sie die Lösung neu.

+0

Danke, das hat mir Stunden gespart;) +1 – Rob

+0

Gern geschehen :) – alaasdk

+0

verdammt du Computer @ Arbeit :) – Zakos

12

Assembly Laden Probleme sind etwas, das alle .NET-Entwickler müssen beheben lernen. Es gibt eine Reihe von möglichen Gründen, um das Problem zu lösen, gibt es zwei Dinge, die Sie brauchen. Erstes Verständnis, wie .NET finds assesmblies. Zweitens die Fusion Log Viewer (Fuslogvw.exe), die mit dem Wissen über den Ladevorgang können Sie erkennen, was funktioniert und fehlschlägt.

In der Regel liegt der Grund für eine Ladeausnahme darin, dass sich die gewünschte Assembly nicht im GAC- oder Prüfpfad befindet. Dies kann auch daran liegen, dass die Zielbaugruppe nicht für die erforderliche Plattform erstellt wird (z. B. kann ein 64-Bit-Prozess keine Baugruppe laden, die nur für "x86" erstellt wurde).

+0

Ich hatte das gleiche Problem, so sah ich Build-Ausgabe und sah, dass es Aufbau Montage Hexe in der Fehlermeldung war, so ging ich zum Ordner mit und nur diese DLL entfernt. es rief wie project_name. (some_date) .dll hoffe, dass es hilfreich sein kann –

0

Das sieht nicht wie ein sehr guter Montag Name, aber wenn in der Tat gibt es sich ...

Es scheint, dass Sie manuell diese Versammlung irgendwo angeben, vielleicht in web.config?

Wenn ja, versuchen Sie es mit der Assembly Qualified Name, ein Beispiel wäre in Ihrer web.config für jede Assembly gefunden, die Microsoft dort platziert. Mach dir keine Sorgen über Version/Kultur oder Schlüssel, nur "type name, assembly name" wird normalerweise ausreichen.

z.B. Statt:

'"GCS.Common (asif mohammed's conflicted copy 2010-01-29)" 

Verwendung

'"GCS.Common (asif mohammed's conflicted copy 2010-01-29), [insert assembly filename less extension here]" 

P. S. Mein Rat ist, Assemblys mit denselben Regeln zu benennen wie Identifikatoren in C#. Ihr Leben wird auf lange Sicht einfacher sein.

1

Ganz einverstanden mit Richard ...
Nur noch ein Hinweis: Ich lese die Exception Trace Ich denke, dass "GCS.Common (asif mohammed's conflicted copy 2010-01-29)" ist ein sehr seltsamer Name für eine Versammlung, nicht wahr? ;-)
Haben Sie eine Datei umbenannt, vielleicht im Ordner bin?

+0

ich benutze Versionskontrolle so, der Teil in() vielleicht von dem –

3

Ich hatte Recht. Es war etwas, das meine Versionskontrollsoftware verursacht hat. Als ich die neueste Version bekam, fügte sie irgendwie eine zusätzliche Kopie meiner Assemblys hinzu (asif mohammeds konfliktbehaftete Kopie bla bla), nachdem ich fast über eine Neuinstallation in VS nachgedacht hatte, musste ich nur die hinterhältigen DLLs aus meinem Dateisystem entfernen.

Vielen Dank für alle Antworten. Gelernt, wie Montage laden funktioniert, so ist alles nicht verloren.

+1

Ich hatte das gleiche Problem, für mich war es Dropbox, die es verursacht! Ich löschte einfach den Inhalt meiner Bin-Directry und baute die Anwendung neu auf. – Mantisimo

Verwandte Themen