Impossible de charger le fichier ou l'assembly ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié
J'ai un code comme celui-ci
public static Type ToType(XmlSerializableType xmlSerializableType)
{
string func = "XmlSerialzationType.ToType";
Type type = null;
if (xmlSerializableType != null && xmlSerializableType.Name != string.Empty)
{
type = Type.GetType(xmlSerializableType.Name);
if (type == null)
{
//May be a user defined class
try
{
Assembly assembly = Assembly.Load(xmlSerializableType.AssemblyName);
type = assembly.GetType(xmlSerializableType.Name);
}
catch (Exception ex)
{
TestDebug.DebugTraceSevere(func, "Exception " + ex.ToString());
}
}
}
return type;
}
J'ai une classe de base nommée "feuille de route" et un userdefinedclass nommé "roundedtree"
lorsque ' xmlSerializableType.Name
"devient définis par l'utilisateur de la classe de _rounded_tree', première fois que je suis l'obtention de valeur pour l'assemblée des as _rounded_treeGOLD, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' a
nd fait pour " type
{Nom = "_rounded_tree" FullName = "_rounded_tree"}'. Mais après l'enregistrement si je redémarre mon application, je ne peut pas charger valeur de 'l'assemblée' arriver exceptionimpossible de charger le fichier ou l'assembly '_rounded_treeGOLD, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.":"_rounded_treeGOLD, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null " et le type de retour est nulle, cela ne devrait pas arriver
Pour baseclass "feuille" pas de issuses je vais obtenir xmlSerializableType.Nom en tant que " Root.Systemmodel.les feuilles" et "type" devient {Nom = "leaf" FullName = "Root.Systemmodel.les feuilles"} assemblée sera la Racine.Systemmodel, Version=8.0.7.0, Culture=neutral, PublicKeyToken=83bd062a94e26d58
Que dois-je faire dans ces circonstances
C'est un morceau de code qui va générer de l'assemblée défini par l'utilisateur de la classe
public Type CreateType()
{
string func = "ManagedClass.CreateType";
//Create instances of AssemblyBuilder and ModuleBuilder for the new Type
AppDomain myDomain = Thread.GetDomain();
AssemblyName myAsmName = new AssemblyName();
//Create the assembly name by appending the machine name to the typename.
myAsmName.Name = this.TypeName + Environment.MachineName;
//Define assembly that can be executed but not saved
this.UserClassAssemblyBuilder = myDomain.DefineDynamicAssembly(myAsmName, AssemblyBuilderAccess.Run);
//Create dynamic module with symbol information
this.UserClassModuleBuilder = this.UserClassAssemblyBuilder.DefineDynamicModule("userdefinedmodule", true);
Mise à JOUR
probablement mon assemblée est la création de défini par l'utilisateur de la classe, mais pas l'économie qui peut être la raison pour laquelle je ne suis pas face à tout problème premier temps, une fois que je ferme l'application, je vais perdre un voir mon code
//Define assembly that can be executed but not saved
this.UserClassAssemblyBuilder = myDomain.DefineDynamicAssembly(myAsmName,
AssemblyBuilderAccess.Run);
comment surmonter cette situation
Mise à JOUR
Voici ma base de données est un fichier xml. Quand j'ai vérifié pour la classe de base de la feuille, je peux voir l'entrée est <Name>Root.Systemmodel.WindowsSystem</Name><AssemblyName>Root.Systemmodel, Version=8.0.7.0, Culture=neutral, PublicKeyToken=83bd062a94e26d58</AssemblyName>
dans ce cas, si le redémarrage de ma demande pas de problèmes, mais pour une classe définie par l'utilisateur "roundedtree" xml d'entrée est <Name>_rounded_tree</Name> <AssemblyName>_rounded_treeGOLD, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</AssemblyName>
Ici première fois, pas de problèmes, mais si je redémarre mon application, j'obtiens une exception
et: stackoverflow.com/questions/1504835/..., stackoverflow.com/questions/1479803/..., stackoverflow.com/questions/4469929/..., stackoverflow.com/questions/6993563/..., stackoverflow.com/questions/1265505/..., etc.
Vous avez tout lu?
Double Possible de impossible de charger le fichier ou l'assembly ou une de ses dépendances
OriginalL'auteur steveaston | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
cela se produit parce que peut-être l'assemblée, vous allez charger les références à l'autre assemblée, que de ne pas exister dans le même répertoire ou d'un système de répertoire de mettre de l'assemblée dans le même dossier
I,ai juste copier coller de mon code, mais son clair
ajouter un gestionnaire d'événements assemblyresolve
Est-ce de l'assemblée existent dans le même fodler,donc oui
Quelle est la Version de Net framework utilisez-vous?
Il introduit Dans la version 4 de .net
OriginalL'auteur DeveloperX
J'ai eu le même problème, si vous travaillez sur SharePoint, parfois, les références ne pourriez pas obtenir livré dans le WSP ainsi, alors que le déploiement de ces dll référencées ne seront pas déployées. La résolution est manuellement à partir de la GAC ou de force dans les Fssf ou les copier dans le local poubelle. La dernière résolu pour moi.
OriginalL'auteur Raghav