明天早上我必须提交我的WPF项目;它在VS 2010中完美运行,但在VS 2008中使用C#(在两种情况下都是.NET 3.5)中出错。
我正在使用Dispatcher.Invoke
的计时器,但在VS 2008中它给出了错误:
错误163
System.Windows.Threading.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority, System.Delegate)
的最佳重载方法匹配有一些无效的参数。
以下代码给出错误:
Dispatcher.Invoke(new Action(() =>
{
// ANY ACTIONS HERE
.. some task
}), null);
代码必须在VS 2008中运行。
答案 0 :(得分:7)
听起来VS 2008版本的目标是.NET 3.0,而不是3.5。在.NET 3.5中添加了overload you're using,错误消息表明正在找到.NET 3.0。
您可以通过以下方式使用3.0重载轻松地重新调用工作:
Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() =>
{
// ...some task
}));