web-dev-qa-db-fra.com

"L'appel du constructeur sur le type 'TestWPF.MainWindow' qui correspond aux contraintes de liaison spécifiées a levé une exception." - comment résoudre ce problème?

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?

27
Abdul Ahad

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.

15
Abdul Ahad

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é.

27
Telos

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!

22
Brett

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.

5
Amanda

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.

4
Cosmin Serban

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.

3
on3al

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));
3
Ulf Gugglhorn

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.

2
Seanba

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

1
Jonathan Perry

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.

1
Alex

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.

1
VampireMonkey

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.

1
Priyankara

J'ai dû changer le framework .Net cible de 4.5.2 à 4.

0
Sarah

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é.

0
dunwan

Essayez d'ajouter "Integrated Security = True" dans la chaîne de connexion. Ça a marché pour moi.

0
Vivek