";对类型';TestWPF.MainWindow';与指定的绑定约束匹配的引发了异常";-

本文关键字:quot 异常 约束 类型 TestWPF MainWindow 绑定 | 更新日期: 2023-09-27 18:21:11

我正在使用WPF。当我试图在代码中声明SQLiteConnection时,问题出现了——

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.

有人能告诉我怎么修吗?

";对类型';TestWPF.MainWindow';与指定的绑定约束匹配的引发了异常";-

如果单击查看详细信息在异常窗口中,您可以查看InnerException。展开该节点,您将看到到底出了什么问题。

在我的特定情况下,我之所以得到这个,是因为我的一些引用程序集在x64和x86之间不匹配。显然,我绑定到了一些需要由运行时加载的东西。

我在这里提到这一点是为了提醒您,如果您在其他地方都看过,请检查您的构建配置!

我通过在app.config、中添加以下内容来解决问题

<configuration> <startup useLegacyV2RuntimeActivationPolicy="true" /> </configuration>

我通过用户FCAA在文章下方添加的社区发现了这一点。"故障排除异常:System.IO.FileLoadException"

我遇到了同样的错误,在浪费了大约2个小时之后,发现是我的SQL Server服务没有运行。不确定这是否能帮助到别人,但它确实解决了我刚开始服务的问题。

前面提到的exeption非常通用,例如,当代码在构造函数中失败时,您可以接收它。我有一个IO异常的案例,它显示了类似的文本。进入代码可能会提供修复此问题的提示,否则这些提示可能并不明显。

当我用默认值指定DependencyPropertyFrameworkPropertyMetadata时,我得到了它

默认值为

new AdressRecord { Name = "<new>", Adress = "?" }

我换成了

default(AddressRecord)

vs2015将其作为

   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));

我遇到了这个问题,原因是我的启动应用程序是作为任何CPU构建的,但我引用的项目是作为x64构建的。将启动设置为生成x64解决了此问题。

在VS2015中,当我在"工具"->"选项"下的"调试选项"中打开"仅启用我的代码"时,我能够看到导致此问题的特定代码。

我在代码的另一部分遇到了这个错误,这与我的应用程序资源有关。

在我的App.config文件

中明确设置ResourcePath文件夹后,这一问题得到了修复

我也遇到了同样的问题。我可以通过将App1.config的名称重命名为App.config来实现这一点。我尝试了所有其他方法,但对我来说,解决方案是将配置文件的默认名称(对我来说是App1.config)更改为App.config.我分享了这一点,因为有人可能会通过这个小修改获得帮助。

我的问题是接口。我通过删除位于C:'ProgramData的Betternet文件夹来修复它。

必须显示隐藏项目/文件夹才能查看文件夹。

使用Visual Studio,它有时不会在异常详细信息中显示任何内容,甚至没有异常详细信息,但是运行诊断工具可以很容易地查明问题所在。

尝试在连接字符串中添加"Integrated Security=True"。它对我有效。

在我的案例中,它发生在代码优先的WPF项目中。原因是恢复备份后更改了模型,并且没有正确处理错误。"自数据库创建以来,支持‘MyDataContext’上下文的模型已经更改。"更新数据库对此进行了排序。

我不得不将目标.Net框架从4.5.2更改为4。

我的问题是我自己的代码中的常规System.IndexOutOfRangeException错误,但收到了这个奇怪的错误,因为我的代码在里面被调用了:

public MainWindow()
{
    InitializeComponent();
    // my code with error
}

同样的问题,如果在内部调用:

private void Window_Initialized(object sender, EventArgs e)
{
    // my code with error
}

修正了,如果我在里面调用我的代码:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
    // my code with error
}

然后,我在代码中得到了IndexOutOfRangeException的正确错误消息。

相关文章: