现在以Github上的示例来讲解如何使用https://github.com/qmlnet/qmlnet-examples
1、先确保机器已安装 .net core sdk 2.2
2.下载示例 ,还原nuget包,编译项目,然后右键工程点发布/publlish, 配置发布的中选项:
部署模式:独立, 这会自动输出所有依赖项目到publish目录,这样目标机器不需要安装dotnet core runtime
目标运行时:win-x64 ,选择你要发布的平台,linux为 linux-x64
点发布即可。
在发布的文件夹中点Features.exe 运行即可,或 使用命令:dotnet Features.dll
此时你会发现界面没有启动,实际在下载qt依赖项目:qmlnet-qt-runtimes,下载完后就会显示。
可以从启动代码
RuntimeManager.DiscoverOrDownloadSuitableQtRuntime();
看出问题。
如何网络不好,可以手动下载后放到程序目录下
window 包:"https://github.com/qmlnet/qt-runtimes/releases/download/releases/qt-5.12.2-ad0689c-win-x64-runtime.tar.gz"
linux 包:"https://github.com/qmlnet/qt-runtimes/releases/download/releases/qt-5.12.2-ad0689c-linux-x64-runtime.tar.gz"
在程序根目录创建qmlnet-qt-runtimes文件夹,将window包解压到qt-5.12.2-ad0689c-win-x64,里面结构为
qmlnet-qt-runtimes
|--------qt-5.12.2-ad0689c-win-x64
|----qt
|----version.txt
linux 对应就是将qt-5.12.2-ad0689c-win-x64改为qt-5.12.2-ad0689c-linux-x64。
注意别在window上解压qt-5.12.2-ad0689c-linux-x64-runtime.tar.gz,因为里面有些linux的link在windows上无法识别,
所有需要在linux上解压。
对于windows上打开会有console 窗体,可以安装NSubsys 的nuget包解决,安装后再发布就不会有console 窗体显示了