某一次 我同事用了这个词 ,说这样才显得够专业 擦。把某某项目 部署到服务器上 。擦 不就是拷个文件过去运行么。月亮 还是绵羊  我搞不清楚了 咱英文不好,绵羊叫的声音?。你就叫我山寨程序猿 随意 一直就这风格。

mono 是一种基于.NET Framework的开放源代码平台。

安装文件在此地址下载

http://www.go-mono.com/mono-downloads/download.html

经证实 安装过后直接 把 moon.exe  和相关目录 直接 拷走 然后运行也是可以的,所谓的绿色软件。mono本身就是一个开放的.NET Framework平台 。就是说你可以在没安装.NET Framework框架的电脑上运行 基于.NET Framework 的程序,并且不用安装 放在U盘里直接就可以运行 只要mono放在一起。然后你引用了哪些类库 就拷贝对应目录的 dll文件 也要放在一起,说白了就是moon版本的 库文件。看下我的 程序里只用到了基本类库 然后就是winform 和gdi ,然后我只拷了这些文件过来 总共4兆的样子lib\mono\gac:

mono运行.net程序的方式是: mono.exe 加上.net程序文件名。通过以上你就明白了 ,把只要编写一个批处理命令文件 就ok了。

双击批处理文件:

看到没左上角的默认图标变成mono的了 。程序运行效果跟原来的一样。换其他电脑试试呢,刚刚不是说过吗 整个文件夹拷到U盘里 在其他电脑可以直接运行。如果在没安装.net框架的电脑上你发现不行 ,有可能出现这样的错误:

根本原因:.net的exe 是托管代码 运行时首先他要寻找mscoree.dll 由此来匹配操作系统已经安装了的.netframework版本。Mscoree.dll 存在于system32 目录下。

关于mscoree.dll深究详情请参考此文  .NET中的幕后英雄:MSCOREE.DLL :

http://blog.csdn.net/atfield/article/details/1750890

明白了噻 ,你可以把你系统的Mscoree.dll 文件也拷到U盘目录下,然后再写个批处理文件,判断没有同名文件 则从U盘拷贝一份到system32 目录。由此 看你自己需求 ,你可以把批处理 写成一个安装脚本 就像 tomcat 那样 ,这些都是可以做到的。

还有一点 通过批处理运行始终有个命令行窗口 很不爽。C#里你知道有个什么 progress 可以调用外部进程 通过参数的方式 ,其实也就跟批处理异曲同工,并且C++里也有同样的东西,这样就可去除命令行窗口。我们编写一段简单的C++代码 把.net程序作为参数 传给moon运行,原理都讲得相当明了了 。这里我就不贴图了 ,经我测试 是行得通的。

接下来我们将 介绍setupFactory的使用。
.net程序部署(setupFactory方式)

.net程序部署(mono方式)的更多相关文章

  1. 在Tomcat中部署Java Web应用程序几种方式

    在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署.在下文中$CATALINA_HOME指的是Tomcat根目录. 一.静态部署      静态部署指的是我们在服务器启动之前部 ...

  2. C#程序部署到Android

    C#是一种优秀的编程语言,语法之优雅,代码之简洁使得众多软粉多年来对她不离不弃. 但是如何将C#程序部署到Linux, Android等平台,这当然是得依靠众所周知的Mono. 本文Demo程序比较简 ...

  3. 一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了

    一直以来 部署mono 都是很头疼的事情 因为是我在是不熟悉非win环境,今天偶然发现这个项目,挺好的,分享下 https://github.com/wshearn/openshift-communi ...

  4. IIS安装与MVC程序部署

    最近在做访客系统,虽然说不是什么多大的项目,但麻雀虽小五脏俱全,使用EF Code First+Mysql+Frozenui响应式布局,感觉通过这个项目学到好多东西,Mysql的使用.EF映射Mysq ...

  5. [翻译][MVC 5 + EF 6] 5:Code First数据库迁移与程序部署

    原文:Code First Migrations and Deployment with the Entity Framework in an ASP.NET MVC Application 1.启用 ...

  6. 一键部署mono 免费空间

    一键部署mono 免费空间支持c# 再也不担心伙食费换空间了 一直以来 部署mono 都是很头疼的事情 因为是我在是不熟悉非win环境,今天偶然发现这个项目,挺好的,分享下 https://githu ...

  7. winform/wpf 程序部署

    (1):一些发布方式 ClickOnce是什么玩意儿,这个问题嘛,在21世纪的互联网严重发达的时代,估计也没有必要大费奏章去介绍了,弄不好的话,还有抄袭之嫌.因此,有关ClickOnce的介绍,各位朋 ...

  8. Asp.Net Core 程序部署到Linux(centos)生产环境(二):docker部署

    运行环境 照例,先亮环境:软件的话我这里假设你已经批准好了.net core 运行环境,未配置可以看我的这篇[linux(centos)搭建.net core 运行环境] 腾讯云 centos:7.2 ...

  9. Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署

    运行环境 照例,先亮底 centos:7.2 cpu:1核 2G内存 1M带宽 辅助工具:xshell xftp 搭建.net core运行环境 .net core 的运行环境我单独写了一篇,请看我的 ...

随机推荐

  1. Hbuilder开发HTML5 APP之WebView

    WebView就是原生的WebView,HBuilder在其上封装了一层,便于Javascript的调用,结构如图: 也可以实现这样的结构: 注意:WebView的使用属性HTML5+规范,所以必须等 ...

  2. ASP.NET MVC 5 Web编程1 -- 入门

    开篇引言 说起ASP.NET MVC,我想作为WebForms开发者第一点要问的是:为什么要使用它?我的理解是:MVC是更细节化的框架,“细节可控”意味着你的系统更精致.具体体现在应用上.MVC的出现 ...

  3. 2016苹果春季发布会 iPhone SE发布

    配置如下 主屏尺寸:4英寸 主屏分辨率:1336x640像素 后置摄像头:1200万像素 前置摄像头:120万像素 电池容量:1624mAh 核心数:双核 操作系统:iOS 9 核心数:双核 CPU: ...

  4. spring快速入门(三)

    一.在spring快速入门(二)的基础上,原先我们是采用构造方法完成对象的注入.这里还有其他的方法可以完成注入,通过set方法来完成. 修改UserActionImpl package com.mur ...

  5. Spring学习记录(七)---表达式语言-SpEL

    SpEL---Spring Expression Language:是一个支持运行时查询和操作对象图表达式语言.使用#{...}作为定界符,为bean属性动态赋值提供了便利. ①对于普通的赋值,用Sp ...

  6. defered,promise回顾

    defered,promise回顾 http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_o ...

  7. intellij IDEA 出现“Usage of API documented as @since 1.6+”的解决办法

    问题 在导入java.io.console的时候出现"Usage of API documented as @since 1.6+"

  8. Sql Server系列:存储过程

    1 存储过程简介 存储过程是使用T-SQL代码编写的代码段.在存储过程中,可以声明变量.执行条件判断语句等其他编程功能.在MS SQL Server 2012中存储过程主要分三类:系统存储过程.自定义 ...

  9. 【原创】开源Math.NET基础数学类库使用(13)C#实现其他随机数生成器

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  10. 创建 router 连通 subnet- 每天5分钟玩转 OpenStack(100)

    上一节我们为 Neutron 虚拟路由器配置好了 L3 agent,今天将创建虚拟路由器“router_100_101”,打通 vlan100 和 vlan101. 打开操作菜单 Project -& ...