张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用

今天是大年初二,都去走亲戚了吧,享受一下这难得的能和亲友相聚的时光。而我就不一样了,今天一回到家就又开始瞎折腾了,哈哈哈。

问题背景

最近花了点时间用 ASP.NET Core 2 写了个个人博客,中间出了好多问题,过程弯弯曲曲的,但好歹最后还是完成部署在阿里云上了。这几天闲的没事看 .NET Core CLI,发现运行时标识符(Runtime IDentifier)居然有 win10-arm,这使我突然萌生了想把我的博客部署在 Raspberry Pi 上。(这就是纯属瞎折腾,部署在 Windows IoT 上确实没用,反正玩都玩了,干脆写篇博客吧...)

发布(Publish)应用

在将应用部署在 Windows IoT 上之前,首先是要以某种合适的方法将应用发布到本机。(Windows 10 IoT 只包含运行时)

1. 更改项目输出类型

打开项目“属性”,将“应用程序”选项中的“输出类型”,改为“控制台应用程序”。

或者你也可以直接编辑 .csproj 文件,将 的值改为 Exe。

2. 编辑 Program.cs

和在 Linux 上部署一样, 在 BuildWebHost 里加上这么一句话 .UseUrls("http://*:5000")。* 作为主机名,5000 为监听端口。

3. 在控制台发布

在“工具”的“Nuget 包管理器”中,打开“程序包管理器控制台”。运行以下命令:

dotnet publish -c release -r win10-arm

因为是要部署在 Raspberry Pi 上, RID 用的 win10-arm。发布的路径是在 “你的项目\bin\Release\netcoreapp2.0\win10-arm\publish”。

部署应用

部署要遵顼以下步骤

1. 将发布文件复制到 Raspberry Pi

怎么去复制文件随便,这里我用的是 WinSCP ,因为我自己管理 Linux 的时候就用的这个,习惯了。但在复制之前,要先启用 Windows IoT 的 FTP 管理。需要在 PowerShell 或者 Device Portal 运行命令:

start C:\Windows\System32\ftpd.exe

接下来就是运行你的 FTP 管理工具,新建一个文件夹,然后把文件复制进去即可。

2. 配置防火墙

使用 netsh 工具配置防火墙,运行命令:(一开始被这个问题困扰了半天,怎么都访问不到网站,做一个允悲的表情...)

netsh advfirewall firewall add rule name=”ASP.NET Core Web Server port” dir=in action=allow protocol=TCP localport=5000

3. 运行

切换到相应的目录,运行 .exe 即可。

问题

嗯,我的博客没有在 Raspberry Pi 上跑起来(但上面的东西都是对的),来看看异常 Unable to load DLL ‘sni.dll‘

这个问题通常引用一下 Nuget 包 System.Data.SqlClient 就好了,但在 Raspberry Pi 上没好... 我开始了在 GitHub 上翻 issue 的旅程,揪心的事情还是发生了,人家压根就没支持 arm32 ... 也就是说,不算定制镜像的话,只有 Raspberry Pi 是不支持的,Dragonboard 410c 是 arm64, MinnowBoard 是 x64 (允悲)... 让我们期待 Raspberry Pi 4 吧!

我又新建了一个默认的项目,部署在了 Raspberry Pi 上,这下没问题了...

但这一切并不能阻止我把博客部署在 Windows IoT 上,上虚拟机,终于成功了(摊手)...

原文地址:https://www.cnblogs.com/zhanggaoxing/p/8452249.html

时间: 2024-08-17 19:46:31

张高兴的 Windows 10 IoT 开发笔记:部署 ASP.NET Core 2 应用的相关文章

张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231

原文:张高兴的 Windows 10 IoT 开发笔记:RTC 时钟模块 DS3231 GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/DS3231 注意:不包含闹钟设置

张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器

原文:张高兴的 Windows 10 IoT 开发笔记:BH1750FVI 光照度传感器 BH1750FVI 是一款 IIC 接口的数字型光强度传感器集成电路.下面介绍一下其在 Windows 10 IoT Core 环境下的用法. 项目运行在 Raspberry Pi 2/3 上,使用 C# 进行编码. 1. 准备 包含 BH1750FVI 的传感器,这里选择的是淘宝上最多的 GY-30:Raspberry Pi 2/3 一块,环境为 Windows 10 IoT Core:公母头杜邦线 4-

张高兴的 Windows 10 IoT 开发笔记:使用 MAX7219 驱动 8×8 点阵

原文:张高兴的 Windows 10 IoT 开发笔记:使用 MAX7219 驱动 8×8 点阵 GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/MAX7219

张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号

原文:张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号 考虑到 Raspberry Pi 读取模拟信号是很烦人的事情,更何况是在没人玩的 Windows 10 IoT 下,所以准备正儿八经的写点东西. 需求:使用 Raspberry Pi 读取输出模拟信号的 MQ 系列气体传感器.(GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ADS1115) 由于 Raspberry

张高兴的 Windows 10 IoT 开发笔记:DHT11 温湿度传感器

原文:张高兴的 Windows 10 IoT 开发笔记:DHT11 温湿度传感器 GitHub : https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/DHT11Demo

张高兴的 Windows 10 IoT 开发笔记:三轴数字罗盘 HMC5883L

原文:张高兴的 Windows 10 IoT 开发笔记:三轴数字罗盘 HMC5883L 注意,数据不包含校验,准确的来说我不知道怎么校验,但方向看起来差不多是对的... GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/HMC5883L

张高兴的 Windows 10 IoT 开发笔记:BMP180 气压传感器

注意:海拔高度仅供参考 GitHub : https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/BMP180Demo

张高兴的 Windows 10 IoT 开发笔记:使用 ULN2003A 控制步进电机

GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/ULN2003A

张高兴的 Windows 10 IoT 开发笔记:FM 电台模块 KT0803L

GitHub:https://github.com/ZhangGaoxing/windows-iot-demo/tree/master/KT0803L 原文地址:https://www.cnblogs.com/zhanggaoxing/p/8280946.html