【发布时间】:2016-05-28 05:33:33
【问题描述】:
我正在从 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 上的任何内容时崩溃的示例。)
以下是异常详情:
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,如果我删除对 Threading 的引用,那么它运行良好。我已经尝试过构建 10586 和最新的 10.0.14342.1000。
【问题讨论】:
-
这里有一个例外:无法加载文件或程序集 'System.Threading, Version=4.0.10.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 的异常:0x80131040)当我尝试实例化具有上述行的类时会发生这种情况。
-
edit 您的问题并包含错误消息
-
除非您发布 project.json 文件,否则此问题不包含足够的信息。
-
好吧,你也更新了你的树莓派吗?您是否部署了发布版本?它应该有整个套件和一堆。你是如何开始这个项目的?
-
感谢您的cmets,我已经更新了帖子。
标签: c# raspberry-pi .net-core windows-10-iot-core .net-core-rc2