.net core学习(二)命令行CLI和项目发布


(一)开发.NET的工具

.NET的开发工具有下面几种:

1) .NET CLI

2) Visual Studio  (仅windows下用)

3) Visual Studio for Mac

    这个从收购的Xmarain公司弄出来的一个产品,使用习惯上跟真正的vs有一些区别

4) Jetbrains Rider 收费

5) VS Code(Visual Studio Code)  这个是微软整的,开源的跨平台的

    一般前端开发人员用得多些。


.NET运行时

如果目标电脑需要安装的话,到下面官网下载:

https://dotnet.microsoft.com/zh-cn/download


image.png



(二)CLI的基本使用方法


CLI是命令行方式创建、编译、运行.NET程序。

详细见官方文档。

https://learn.microsoft.com/zh-cn/dotnet/core/tools/



2.1  创建控制台程序

image.png

这个是cli创建的项目

image.png


执行方法如下:

可以看到你run项目文件或者是program.cs都是可以的。

image.png


2.2  创建winform程序

image.png

创建内容如下:

image.png

image.png

运行结果:

image.png



(三)项目发布


创建.NET控制台程序。

注意“不使用顶级语句”,如果你勾选后,看到的就是.NET 5及以前版本(包括.net framework)看到的Programe.cs内容。

image.png

有关顶级语句是个啥见下面贴子:

http://47.98.154.65/?id=2341



项目上右键选择“发布”

image.png


我们选择发布到一个本地文件夹

image.png


image.png


显示所有设置

image.png


这里最关键的是部署模式:

“依赖框架” 导出的程序尺寸很小,但是要求目标电脑上要装这个程序要求的.NET运行时版本,才可以运行程序。

“独立” 则会把.NET运行时和程序一起打包发布,程序磁盘空间占用就会大许多。但是好处是目标电脑可以什么都不装也可以运行。

image.png

选择目标运行时。

其中osx-x64是苹果系统。

image.png

这里勇哥选择linux-x64来实验一下。

“生成单个文件” 会把全部文件打包成一个执行文件。这样方便对方接收与运行。

“裁剪未使用的代码” 这个功能不能保证裁剪后的程序一定能运行成功,因为如果程序使用反射来调用程序集,vs就很难判定这个程序集是否被用到了。

              但是这个功能的好处是能减小你生成的程序的大小。如果一定要用这个功能,一定要严格测试你程序的全部功能是否正常。

image.png

最后点“发布”

image.png

发布成功!

勇哥电脑花了17秒,你的电脑花了多长时间呢?

image.png

在发布目录,我们看到果然只有一个运行程序。

这个程序就是个hello world,但是有65M之大。

pdb那个是调试文件,可以删除。

image.png


下面勇哥用linux跑一下这个程序。


启动WSL的Ubuntu控制台。

image.png

我们不需要把生成的执行程序拷贝到linux环境中去。

而是直接找到vs的发布目录,直接执行。


操作如下图所示。

关键就是那句: cd /mnt/d/   就可以访问到发布程序所在的磁盘了。

linux下执行当前目录的一个程序要写成   ./程序名字

而且请注意linux下执行程序并不是以.exe结尾(根本没有文件扩展名的概念),这个是windows下的定义。

image.png




--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!




本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:
本帖最后由 勇哥,很想停止 于 2024-05-26 12:05:35 编辑

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864