使用mono-runtime-bundle制作安装包让c桌面应用程序脱离net-fram.pdfVIP

使用mono-runtime-bundle制作安装包让c桌面应用程序脱离net-fram.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用Mono Runtime Bundle 制作安装包让 C#桌面应用程序脱 离 net fram... 使用Mono Runtime Bundle 制作安装包让 C#桌面应用程 序脱离 net framework 作者:BAsil | 出处:博客园 | 2011/11/29 16:36:28 | 阅读73 次 之前有一 C#版本和 ios 版本(支持下载学生名单,点名等 更多功能,该版本未上 app store) 的教辅助手帮助学校老师提 交成绩到教务系统(浙大正方 web 版),一直打算用 mfc 写 一 vc++版本的可以方便的在未安装 net framework 的电脑 上使用,前几天看到一篇文章再谈为什么要使用 MONO ,既然Unity3D 游戏(mono 内核)可以单独打包脱离 net framework,那我的教辅助手一定可以。可是在网上找了一 下,中文资料很少,没有讨论具体技术细节的文章( 让 C# 程序独立运行(脱离 .NET Framework 运行,绿色运行) 是 我在移植完成后写教程的时候看到的文章,我的思路和他不 太一样,我使用了 mkbundle )。 教辅助手虽然功能比较简单,但是比 hello world 还是有技术 含量的。我在测试打包的时候使用 hello world 没有问题,能 够脱离 net framework 正常显示,但如果更复杂的功能和代码 以及引入第三方类库的话,到底有没有问题,我心里没底。 实际在我移植的过程中确实碰到很多问题,这个是简单的测 试 hello world 移植所解决不了的。因此我在解决问题后,写 下此文记录一下。 先说一下教辅助手的功能(由于工作原因无法放出该程序代 码),简单点说就是要导入 excel 成绩表并直接提交到教务系 统的页面中,为清楚列表如下 1 导入 excel 成绩表 2 提交至 web 教务系统 3 可视界面操作 使用的相应技术 1 使用 System.Data.Oledb 访问 excel 并将取得内容放入 System.Data.DataSet 2 使用 System.Net.HttpWebRequest 模拟教务系统登录(该系 统使用 cookieless 方式,所以需要先访问一次得到 url 中生成 的 sessionid ),然后填入课程相关信息,模拟post 提交,使 用 System.Text.RegularExpressions 的正则表达式得到所有学 生列表,并根据DataSet 内容产生新的Post 信息,再次利用post 方式提交到教务系统中。 3 使用 Winform 窗口形式 相关软件 window7 professional 64bit Cygwin net 2.0/3.5/4.0 framework mono 2.10.6 gtk 2.12 MonoDevelop 2.8.2 下面说一下我的具体过程 1 首先使用 Mono Migration Analyzer (MoMA) 检查已有代 码是否可以移植到 mono 上。我的代码检查通过,但在后继 过程发现访问 excel 功能报错,原因后面会说 。个人感觉 MoMA 不是很靠谱。 2 使用 mono 编译教辅助手源码。 这里我使用了 MonoDeveloper 工具,当然也可以使用类似 csc.exe 的mcs.exe 命令行编译方式。不过由于 MonoDevelop 没有 winform 的设 计器,而且 winform 是 Win32 技术,兼容性在 Linux 下不是 很好, mono 建议使用GTK#这种第三方的Form 技术来做UI , 我这里为了使用 MonoDeveloper 把 winform 的代码用gtk 重 写了,用了一个小时吧,代码分层比较好,比较容易剥离。 当然如果你习惯 csc.exe 的命令行方式,而且你的移植后的程 序只在 window 下面运行,那你可以使用 mcs.exe 并且不需 要 gtk 重写(未尝试此种方式,感觉应该可行,如果哪位朋 友有过相关经验,请告知)。 使用 MonoDevelop 要求安装 mono 和 gtk,这里要特别注意的 是MonoDevelop 可以

文档评论(0)

158****6415 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档