杨中科 .NET项目结构及程序发布

发布时间:2024年01月11日

一样的csproj,不一样的接口

1.文件包含于排除:
2. *.config

文件包含于排除

新建 .netcore 与 .netframework 项目
在这里插入图片描述
打开framework 项目文件位置
在这里插入图片描述

在这里插入图片描述
打开 frameworkConsoleApp1.csproj文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看 .netcore的CoreconsoleApp2.csproj文件
该文件十分简洁
在这里插入图片描述
改变版本
在这里插入图片描述
在这里插入图片描述
此时重新打开文件
在这里插入图片描述
在framework中新建一个类文件
在这里插入图片描述
在这里插入图片描述
此时新建文件出现在了csproj中
在这里插入图片描述
此时我们新建class2文件,
项目文件中有
在这里插入图片描述

然后在排除
在这里插入图片描述
此时class2 从项目文件中消失了
在这里插入图片描述
【总结】:framework项目中,所有文件必须显示的添加到项目文件中。没有添加到该文件的内容,是不属于该项目的。

但是在 .net core中,所有的文件都默认属于项目文件,除非你移除了
在这里插入图片描述
【新方式】
在framework中,是无法双击打开csproj文件的,只能通过打开项目文件位置,找到该文件打开修改,
在 .netcore中就能直接双击项目文件,在vs打开csproj文件
在这里插入图片描述

程序的发布

1、部署模式:依赖框架:独立(推荐);
2、目标运行时。
3、生成单个文件。
4、ReadyToRun : AOT (ahead-of-time)、JIT。缺点看文档。
5、裁剪未使用的程序集。缺点看文档。

控制台发布:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
此时只是建立了一个发布文件,并未发布完成
点击编辑
在这里插入图片描述

在这里插入图片描述

【部署模式】 :
依赖框架:需要目标操作系统安装 .netcore运行时环境。
独立:直接生成的包里面,就包含了 .netcore的运行时环境。【推荐】:多个项目互不影响
【目标运行时】:
可移植的:不同的版本都可以支持
选择具体的版本:就只有选择的那个版本可以支持

选择好之后,点击保存
发布:
在这里插入图片描述
方式一:选择可移植方式。完成后,打开项目位置
在这里插入图片描述
可移植方式,需要运行时环境
在这里插入图片描述
微软发布的类似虚拟机的东西
此时报错 需要运行时环境
在这里插入图片描述

方式二:选择独立
在这里插入图片描述
此时,文件明显更多了
在这里插入图片描述
此时,完美运行
在这里插入图片描述
在这里插入图片描述
发布到linux下运行测试
在这里插入图片描述
在这里插入图片描述
运行成功:
在这里插入图片描述
【文件发布选项】
在这里插入图片描述
一、选择生成单个文件
速度相对更加缓慢
在这里插入图片描述

启用ReadyToRun:AOT(ahead-of-time)、JIT
编译的时候就完成JIT的优化,启动运行速度更快,但是编译速度减慢
在这里插入图片描述

剪裁未使用的程序集(预览)
尝试把一些用不到的程序集,不打包到包里面。

在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_43847546/article/details/135514151
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。