问题描述
我试图在示例 WPF 应用程序中使用 dispatcherScheduler.Current,以下行未解析类(静态)。
有谁知道为什么这不能解决?
public partial class App : Application
{
public App()
{
**var tmp = dispatcherScheduler.Current;**
}
}
csproj 文件:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWPF>true</UseWPF>
<Platforms>Anycpu;x64</Platforms>
</PropertyGroup>
<ItemGroup>
<packagereference Include="System.Reactive" Version="5.0.0" />
</ItemGroup>
</Project>
操作系统:Mircosoft Windows 10 Pro, 版本:10.0.19042
解决方法
我创建了一个全新的 .NET 5 WPF 项目,但我看到了同样的问题。添加 nuget ReactiveUi
解决了丢失的 DispatcherScheduler
,但不知道为什么 DispatcherScheduler
不可用,只引用 System.Reactive
。
更新:
我测试了新项目,但对于 .NET Core 3.1 WPF,一切正常。这是 .NET 5 的问题。
更新 2:
我在 github https://github.com/dotnet/reactive/issues/1497 上发现了问题,DispatcherScheduler
可用于 TFM net5.0-windows10.0.19041
。我还使用 ILSpy 来确保 System.Reactive.dll
和 .net5.0
的 net5.0-windows10.0.19041
不同。
将 TargetFramework
中的 csproj
更改为:
<TargetFramework>net5.0-windows10.0.19041</TargetFramework>
解决问题。