Je travaille avec WPF. Lorsque j'essaie de déclarer SQLiteConnection
dans le code, le problème se pose-
The invocation of the constructor on type 'TestWPF.MainWindow' that matches the specified binding constraints threw an exception.
InnerException: Make sure that the file is a valid .NET Framework Assembly.
quelqu'un peut-il me dire comment y remédier?
J'ai résolu le problème en ajoutant le contenu ci-dessous dans app.config
,
<configuration> <startup useLegacyV2RuntimeActivationPolicy="true" /> </configuration>
J'ai trouvé cela via un ajout de communauté par l'utilisateur FCAA sous l'article "Dépannage des exceptions: System.IO.FileLoadException" sur MSDN.
Si vous cliquez sur Afficher les détails ... dans la fenêtre d'exception, vous pouvez consulter InnerException. Développez ce nœud et vous verrez exactement ce qui n'a pas fonctionné.
Dans mon cas spécifique, j'obtenais cela parce que j'avais quelques-uns de mes assemblys de référence incompatibles entre x64 et x86. Apparemment, je me liais à quelque chose qui devait être chargé par le runtime.
Je mentionne cela ici pour vous rappeler de vérifier vos configurations de construction si vous avez regardé partout ailleurs!
J'ai eu la même erreur et, après avoir perdu environ 2 heures avec, j'ai constaté que c'était mon service SQL Server qui ne fonctionnait pas. Je ne sais pas si cela peut aider quelqu'un, mais cela a résolu mon problème en démarrant simplement le service.
L'exception mentionnée est assez générique et vous pouvez la recevoir, par exemple, lorsque le code échoue dans le constructeur. J'ai eu un cas d'une exception IO qui est apparu avec un texte similaire. Entrer dans le code peut fournir des conseils pour résoudre ce problème qui ne seraient pas évidents autrement.
J'ai rencontré ce problème et cela est dû au fait que mon application de démarrage a été créée comme n'importe quel processeur, mais je référençais un projet qui a été créé en tant que x64. La configuration du démarrage pour construire x64 a résolu le problème.
Je l'ai eu quand j'ai spécifié le FrameworkPropertyMetadata
d'un DependencyProperty
avec une valeur par défaut
la valeur par défaut était
new AdressRecord { Name = "<new>", Adress = "?" }
j'ai remplacé par
default(AddressRecord)
et vs2015 l'a mangé
public static readonly DependencyProperty AdressRecordsProperty =
DependencyProperty.Register("AdressRecords",
typeof(ObservableCollection<AdressRecord>),
typeof(PageViewModel),
new FrameworkPropertyMetadata(
default(AdressRecord),//This noes not work: new AdressRecord { Name = "<new>", Adress = "?" },
OnAdressRecordsChanged));
Dans VS2015, j'ai pu voir le code spécifique à l'origine de ce problème une fois que j'ai activé "Activer juste mon code" dans les options de débogage sous Outils -> Options.
J'ai eu cette erreur dans une autre partie du code qui a à voir avec mes ressources d'application.
Ce problème a été résolu après avoir défini explicitement le dossier ResourcePath
dans mon App.config
fichier
Mon problème concernait l'interface. Je l'ai corrigé en supprimant le dossier Betternet qui se trouve à C:\ProgramData
.
Les éléments/dossiers cachés doivent être affichés pour pouvoir afficher le dossier.
Avec Visual Studio, il est parfois impossible d'afficher quoi que ce soit dans les détails de l'exception ou même de les avoir, l'exécution de l'outil de diagnostic peut cependant facilement identifier ce qui ne va pas.
J'ai eu le même problème. je pourrais le faire fonctionner en renommant le nom de App1.config en App.config. J'ai essayé toutes les autres méthodes mais la solution pour moi était de changer le nom par défaut (pour moi, c'était App1.config) du fichier de configuration en App.config. J'ai partagé cela parce que quelqu'un peut obtenir de l'aide par cette petite modification.
J'ai dû changer le framework .Net cible de 4.5.2 à 4.
Dans mon cas, cela s'est produit dans un projet WPF en code premier. La cause en était les modifications de modèle après la restauration d'une sauvegarde et l'erreur n'était pas gérée correctement. "Le modèle soutenant le contexte 'MyDataContext' a changé depuis la création de la base de données." Update-Database l'a trié.
Essayez d'ajouter "Integrated Security = True" dans la chaîne de connexion. Ça a marché pour moi.