vs2017 中项目的publish,即“发布”到底是什么?

比如用c#编写了一个控制台程序,鼠标右键就会显示出发布,这和传统的release有什么区别?
在这里插入图片描述
查了不少资料,个人理解windows程序提供给别人使用,主要是3种方法:

  1. 最传统的把exe文件及文件夹提供给用户,这种方法最简单,缺点是容易出现:“缺少xx.dll”,一种解决方法是采用静态链接,把静态lib和exe一起打包。当然现在的win10系统因为集成了.net frameware框架,这种缺少xx.dll的情况越来越少,net core再次改进,只要有runtime,就能跨平台运行。所以最传统的方式也再次焕发活力。

  2. 更进一步的installer方式,这种安装程序会自动分析dll依赖,把所有的dll和exe以及需要用到的数据一起打包做成安装程序。这种方式流行了许多年。

  3. 再次改进叫做ClickOnce 方式,它解决了installer方式的固有缺点:
    ①Installer 部署,每次应用程序更新,用户都必须重新安装整个应用程序。使用 ClickOnce 部署,则可以自动提供更新
    ②Installer 部署时,应用程序通常依赖于共享组件,这便有可能发生版本冲突。 ClickOnce 部署时,每个应用程序都是独立的,不会干扰其他应用程序
    ③Installer 部署要求管理员权限并且只允许受限制的用户安装 。ClickOnce 部署不需要管理员权限。

过去,以上问题有时会使开发人员决定创建 Web 应用程序而不是基于 Windows 的应用程序,牺牲了 Windows窗体丰富的用户界面和响应性。使用 ClickOnce 部署应用程序,可以集web和传统Windows 的应用程序的优势于一身。

而上图种vs2017 中项目的publish,即“发布”其实就是ClickOnce。

可以采用三种不同的方法发布 ClickOnce 应用程序:从网页发布、从网络文件共享发布或是从媒体(如 CD-ROM)发布。
在这里插入图片描述
ClickOnce 应用程序既可以安装在最终用户的计算机上并在本地运行(即使当计算机脱机时也可以运行),也可以仅以联机模式运行,而不在最终用户的计算机上永久安装任何内容。
在这里插入图片描述

对开发人员来说,clickone还能在开发和测试过程中避免经常卸载和安装应用程序,同时非常接近最终应用程序的运行方式。

我对自己编写的项目使用发布,选择本地文件夹。
它在桌面上创建了3个文件:
在这里插入图片描述
gpgui本质上就是一个release版本的程序,publish是一个用浏览器打开的页面,因为糅合了web的优点,
这个publish是部署应用程序的一个入口文件。
在这里插入图片描述
点“启动”就会开始安装,对于本机来说当然属于没意义。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值