Impossible de charger le fichier ou l'assembly 'XXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances

J'ai essayé de déboguer cette Erreur:

Système.IO.FileNotFoundException: impossible de charger le fichier ou l'assembly 'ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.
Nom de fichier: "ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'

Je vois beaucoup de solutions et de les essayer tous.

Je suis à la recherche à la Fusion de la Visionneuse et j'obtiens le message suivant:

JOURNAL: Cette liaison commence en charge par défaut le contexte.
JOURNAL: l'Utilisation de fichier de configuration d'application: I:\Projects\ACE Explorer\AceV_1Explorer\AceExplorer\AceExplorer\bin\Debug\AceExplorer.exe.config
JOURNAL: l'Utilisation de fichier de configuration d'hôte:
JOURNAL: l'Utilisation de la machine fichier de configuration de C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config.
JOURNAL: Post-politique de référence: ClassLibrary1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
JOURNAL: GAC de Recherche a été infructueuse.
JOURNAL: la Tentative de téléchargement de la nouvelle URL de type file:///I:/Projets/ACE Explorer/AceV_1Explorer/AceExplorer/AceExplorer/bin/Debug/ClassLibrary1.DLL.
JOURNAL: la Tentative de téléchargement de la nouvelle URL de type file:///I:/Projets/ACE Explorer/AceV_1Explorer/AceExplorer/AceExplorer/bin/Debug/ClassLibrary1/ClassLibrary1.DLL.
JOURNAL: la Tentative de téléchargement de la nouvelle URL de type file:///I:/Projets/ACE Explorer/AceV_1Explorer/AceExplorer/AceExplorer/bin/Debug/ClassLibrary1.EXE.
JOURNAL: la Tentative de téléchargement de la nouvelle URL de type file:///I:/Projets/ACE Explorer/AceV_1Explorer/AceExplorer/AceExplorer/bin/Debug/ClassLibrary1/ClassLibrary1.EXE.
JOURNAL: Tous les sonder Url tenté et échoué.

Je vois le fichier dans le répertoire et la Cible est le framework 4.0 pour tous à l'aide de x86

Toutes les idées de découvrir ce qui est cassé

Mis à jour
Désolé pour la confusion. Dans le journal qu'il était PublicKeyToken=null. J'essayais tout.

Mise à JOUR
J'ai ajouté un peu de code dans le programme principal qui permettra de résoudre les assemblées à l'aide de la ResolveEventHandler. Il ne fonctionne pas du premier. Mais quand j'ai eu la charge de programme à l'extérieur des assemblées (LoadReferences()) dans le début du programme, il n'travail. Bizarre car le chemin était exactement la même chose quand je les charge dans le début LoadReferences() et puis quand la méthode entre une référence à une coutume assembler ce qui déclenche la CurrentDomain_AssemblyResolve. Le chemin vide résout à l'assemblypath. Comme vous pouvez le voir, dans la LoadReferences(), je suis en ajoutant EntityFramework qui va provoquer le même problème, même si je suis à l'aide de Nuget.

Dans main (), j'ai ajouté:

AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
LoadReferences();
private static void LoadReferences()
{
Assembly  objExecutingAssemblies;
objExecutingAssemblies = Assembly.GetExecutingAssembly();
AssemblyName[] arrReferencedAssmbNames = objExecutingAssemblies.GetReferencedAssemblies();
Assembly asm;
foreach (AssemblyName strAssmbName in arrReferencedAssmbNames)
{
if (strAssmbName.FullName.ToLower().Contains("[company].") || strAssmbName.FullName.ToLower().Contains("entityframework"))
asm = Assembly.LoadFrom(Path.Combine("", strAssmbName.FullName.Substring(0, strAssmbName.FullName.IndexOf(","))+ ".dll"));
}
//these were also posing an issue
asm = Assembly.LoadFrom(Path.Combine("", "EntityFramework.dll"));
asm = Assembly.LoadFrom(Path.Combine("", "EntityFramework.SqlServer.dll"));
}
static System.Reflection.Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args)
{
string assembliesDir = "";
try
{
string dll = (args.Name.IndexOf(",") < 0 ? args.Name + ".dll" : args.Name.Substring(0, args.Name.IndexOf(",")) + ".dll");
Assembly asm = Assembly.LoadFrom(Path.Combine(assembliesDir, dll));
return asm;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
return null;
}

Aussi. Vous ne savez pas si cela fait une différence, mais c'est un clickonce avec une pleine confiance.

Également de nos postes de travail sont assez verrouillé.

Également la plate-forme x86 pour tous les projets.

Votre message d'erreur parle d'un unsigned de l'assemblée appelée "XXX", tandis que la Fusion est une tentative de chargement d'un connecté de l'assemblée appelée ClassLibrary1. S'il vous plaît pouvez-vous poster le exact message d'erreur - si ce qui précède est le message d'erreur exact, alors vous avez votre problème là!
RB, Bon oeil mais ce n'est pas elle. J'ai essayé de faire le montage solide nommé d'après l'affichage du message d'erreur sur l'affichage du journal.
Eh bien, dans ce cas l'erreur est claire - la Fusion ne peut pas trouver le fichier DLL dans un endroit qu'elle essaie. Avez-vous essayé de copier et de coller les lieux, disons, dans l'Explorateur Windows pour vous assurer qu'il est certainement l'endroit où vous pensez que c'est?
Le fichier est là. J'ai aussi essayé un outil permettant de déterminer si c'est 32 ou 64 bits
Fichier est où? Qui des 4 emplacements est-il?

OriginalL'auteur H20rider | 2016-05-06