用C#开发的程序,我现在使用mono脱离了.net环境,但是在没有.net环境的电脑上打不开,不知怎么办?

用C#开发的程序,我现在使用mono脱离了.net环境,但是在没有.net环境的电脑上打不开,不知怎么办?,第1张

那个电脑上有没有mono环境?

如果有的话那就是mono方面的问题,

如果没有,你可以有以下几种办法:

1.使用vs2010工具,编译时使用“Client Profile”模式,这个你可以在百度找,一种使程序运行在精简化客户端的方案;

2.使用现有的.Net Framework客户端虚拟技术(类似原来的飞信,用的是Salamander .Net Linker)包装,但这玩意挺贵,1000多刀。

3.直接借用飞信虚拟机(测试和研究可以,注意版权问题),方法如下:

找到飞信安装文件夹下的这个路径"VMDotNet\v2.0.50727\FetionVM.exe",在命令行中启动运行.NET WinForm程序:

WinExec("FetionVM.exe 程序1.exe", SW_SHOW)

4.请给好评,呵呵

Queslion:(1801)故障信息是指有坏区,但这不一定是坏区造成的,看以下解决方法:

1.用scandisk扫描硬盘是否正常,如果不能顺利扫描通过,请格式化,或者重新分区,低格看看。

检测到有坏道可以尝试隔离坏区。

2.如果用光盘运行ghost备份的,更换光盘试试。

3.更换更新版本的ghost。

4.电源不稳定,也会导致此现象,注意听硬盘有没有发出奇怪的声音。

电源供电不足,或者老化,还有就是SATA硬盘电源线接触不良,都会出现此现象。

5.硬盘数据线问题。

修复硬盘坏块(bad block(s) )后才可继续安装系统。可用hddreg.exe软件dos版,硬盘有坏块了,用dm清零后在重新格式化分区然后再上gho系统。

scandisk使用方法:

这个命令在实际的 *** 作中有很大的用处,它能对磁盘进行扫描并修复,能够解决大部分的磁盘文件损坏问题。格式为"SCANDISK [盘符:] [参数]"下面是它的几个参数:

/fragment 〔驱动器名:\路径\文件名〕:使用这个参数可以显示文件是否包含有间断的块,我们可以通过运行磁盘整理程序来解决这个问题;

/all:检查并修复所有的本地驱动器;

/autofix:自动修复错误,即在修复时不会出现提示;

/checkonly:仅仅检查磁盘,并不修复错误;

/custom:根据Scandisk.ini文件的内容来运行Scandisk,Scandisk.ini是一个文本文件,它包含了对Scandisk程序的设置,其中的〔custom〕块是在加上"/custom"参数后才执行的,用户可以根据自己的不同情况来进行不同的设置;

/nosave:在检查出有丢失簇后直接删除,并不转化为文件;

/nosummary:不显示检查概要,完成检查后将直接退出程序;

/surface:在完成初步检查后进行磁盘表面扫描;

/mono:以单色形式运行Scandisk。

可以根据不同的情况来加上不同的参数。可以执行"scandisk /all /checkonly /nosave /nosummary"来完成对磁盘的检查并且自动退出,另外还可以编辑scandisk.ini文件中设置,再运行"scandisk /custom"。如果被损坏的文件比较多,我们可以使用"/autofix"来进行自动修复。

HDDREG使用方法:

1选择硬盘、输入相应数值,一般为2

输入后回车

2, 输入起始位置

ENTER OFFSET FROM THE BEGINNIMP :0 MB

回车

如按容量输入,在输入数值后加字母M回车

如按扇区数输入,直接输入数直回车

3, 要中止修复,输入CTRL+BREAK

4,B—0 BAD SECTORS FOND 发现的坏区

R---0 BAD SECTORS RECOVERED 已修复的坏区

如上下数值一致,说明已修好。

nohup命令及其输出文件

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思(

n ohang up)。

一般都是在linux下nohup格式:

www.2cto.com

nohupcommand

或者

nohupcommand &

这之间的差别是带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);

它把标准输出(STDOUT)和标准错误(STDERR)结果输出到nohup.txt文件这个看似很方便,但是当输出很大的时候,nohup.txt文件会非常大,或者多个后台命令的时候大家都会输出到nohup.txt文件,不利于查找结果和调试程序。

所以能够重定向输出会非常方便。下面要介绍标准输出,标准输入和标准错误了。

其实我们一直都在用,只是没有注意到,

www.2cto.com

比如

>./command.sh>output

#这其中的>就是标准输出符号,其实是1>output 的缩写

>./command.sh2>output

#这里的2>就是将标准错误输出到output文件里。

而0<则是标准输入了。

下面步入正题,重定向后台命令

>nohup./command.sh >output 2>&1 &

解释:前面的nohup和后面的&我想大家都能明白了把。

主要是中间的2>&1的意思

这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,

www.2cto.com

所以结果是标准错误和标准输出都导入文件output里面了。

至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。

这就会导致>output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.

这就是为什么有人会写成:

nohup./command.sh >output 2>output出错的原因了

##########################

最后谈一下/dev/null文件的作用

这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。

所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>./command.sh>/dev/null 2>&1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11696338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存