【发布时间】:2016-07-30 19:41:39
【问题描述】:
目前我正在使用 Windows 10 IoT Core 和新的 .NET Core 库测试一些家庭自动化。我已经使用最新稳定版本的 Windows 10 IoT Core (10.0.10586) 设置了香草 Rasberry PI 2。我还使用 dnvm 安装了当前最新的 (RC2-20221) .NET 包,dnvm list 显示:
Active Version Runtime Architecture OperatingSystem Alias
------ ------- ------- ------------ --------------- -----
1.0.0-rc1-final clr x86 win
1.0.0-rc1-final coreclr arm win
1.0.0-rc1-final coreclr x64 win
1.0.0-rc1-final coreclr x86 win
1.0.0-rc1-update2 clr x86 win default, dnx-clr-win-x86.1.0.0-rc1-update2
1.0.0-rc2-20221 clr x64 win
1.0.0-rc2-20221 clr x86 win
1.0.0-rc2-20221 coreclr arm win
* 1.0.0-rc2-20221 coreclr x64 win
1.0.0-rc2-20221 coreclr x86 win
然后我创建了一个新的控制台应用程序 (.NET Core),它只是打印一个字符串:
public class Program
{
public static void Main(string[] args)
{
System.Console.WriteLine($"Hello Raspberry {Math.PI}!");
}
}
我还更新了 project.json 文件,从中删除了“Microsoft.NETCore.App”依赖项的"type": "platform"-property。因此,我明确添加了两个运行时:
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
},
"runtimes": {
"win10-x64": {},
"win10-arm": {}
}
}
第一个运行时 (win10-x64) 用于在我的开发机器上测试应用程序,后者用于部署。我可以使用以下命令成功构建我的应用程序:
dotnet publish --output "X:\Dev\IoT\Samples\Console\output" --runtime win10-arm
在命令行中使用运行时参数win10-x64 构建项目按预期工作:我得到了一个功能齐全的可执行文件,它将所需的字符串打印到我的控制台。将win10-arm-build 部署到我的 Rasberry PI 后,尝试从 powershell 执行应用程序给了我迄今为止遇到的最奇怪的错误:
程序“IoT.Samples.Console.exe”运行失败:操作成功完成。
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed
所以程序运行失败,因为……嗯……成功了?
我按照说明 here 使用 Powershell 连接到 RaspPI。此外,正如预期的那样,从我的 x64 机器运行 ARM 构建不起作用。所以很明显,应用程序已经为 ARM 正确编译了。
那么为什么 powershell 会响应错误呢?这个错误告诉我什么?
提前致谢!
【问题讨论】:
-
我正在按照本教程在 RP2 上创建 .NET Core 应用程序,它可以工作。
-
你在学习任何教程吗?
-
你的应用在 W10 IoT Core 上运行了吗?
-
@Darxis 不幸的是没有。 ://
标签: c# .net arm windows-10-iot-core .net-core