我正在从IoT模板创建一个新的简单UWP Blank应用程序,只需添加一个简单的代码:
var xyz = new System.Threading.ManualResetEvent(false);
xyz.WaitOne(1000);
当我在我的PC上以x86模式运行它时它工作正常,并且在我将PC升级到.NET Core RC2之前,它在运行Windows 10 IoT的Raspberry Pi上工作正常。现在我收到一个错误,说我在RPi上执行它时找不到System.Threading版本4.0.10。我试图通过NuGet添加这个,但没有区别。我可以在Pi上看到System.Threading.dll,虽然版本是4.6,但我没有地方配置程序集重定向等。
如何使这个简单的应用程序与.NET Core RC2和RPi一起使用? (请注意,上面的示例只是显示导致崩溃的原因,它不是真正的程序,我不打算只是做一个延迟,它只是一个示例,当您访问System.Threading上的任何内容时显示崩溃。)< / p>
以下是例外情况:
Could not load file or assembly 'System.Threading, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
当我尝试实例化具有上述行的类时会发生这种情况。
这是project.json:
{
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.1.0",
"System.Threading": "4.0.10"
},
"frameworks": {
"uap10.0": {}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
我曾尝试过使用和不使用System.Threading,同样的问题。
我尝试在调试时用F5运行/调试它(在远程机器上)。所有内容都应该发送到RPi,如果我删除对线程的引用,那么它运行正常。我已经尝试了构建10586和最新的10.0.14342.1000。
答案 0 :(得分:0)
我已尝试重新安装Visual Studio等。我还卸载了.NET Core RC2,它也与此无关。最后修复它的是删除%userprofile%.nuget文件夹,以便重新下载所有包。我认为某些东西必须变得腐败或其他东西。