";对类型';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.
有人能告诉我怎么修吗?
如果单击查看详细信息在异常窗口中,您可以查看InnerException。展开该节点,您将看到到底出了什么问题。
在我的特定情况下,我之所以得到这个,是因为我的一些引用程序集在x64和x86之间不匹配。显然,我绑定到了一些需要由运行时加载的东西。
我在这里提到这一点是为了提醒您,如果您在其他地方都看过,请检查您的构建配置!
我通过在app.config
、中添加以下内容来解决问题
<configuration> <startup useLegacyV2RuntimeActivationPolicy="true" /> </configuration>
我通过用户FCAA在文章下方添加的社区发现了这一点。"故障排除异常:System.IO.FileLoadException"
我遇到了同样的错误,在浪费了大约2个小时之后,发现是我的SQL Server服务没有运行。不确定这是否能帮助到别人,但它确实解决了我刚开始服务的问题。
前面提到的exeption非常通用,例如,当代码在构造函数中失败时,您可以接收它。我有一个IO异常的案例,它显示了类似的文本。进入代码可能会提供修复此问题的提示,否则这些提示可能并不明显。
当我用默认值指定DependencyProperty
的FrameworkPropertyMetadata
时,我得到了它
默认值为
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的正确错误消息。