![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C#开发的软件安装前必须安装。netFramework吗?
如果想用C#开发的软件,必须要安装.netFrameWork吗,是不是不安装软件就不能运行?这不意味着用户在选择着你的软件同时,也得接受几十兆的后台类库,可不可以从CLI...
如果想用C#开发的软件,必须要安装.netFrameWork吗,是不是不安装软件就不能运行?这不意味着用户在选择着你的软件同时,也得接受几十兆的后台类库,可不可以从CLI中抽取我们需要的类库加载到安装包里,其它无用的舍弃?另外在3.5平台下开发的软件,在安装2.0平台下的机器上能运行吗?
呵呵,问题比较多,劳烦大家费口舌给小弟讲解下 展开
呵呵,问题比较多,劳烦大家费口舌给小弟讲解下 展开
展开全部
c#程序是通过安装.net安装包才能运行的,因此有时候很不方便,必须要用户安装一个.net安装包,虽然系统会带有这个,但是还有相当的电脑是不装这个的。。下面以.net framework 2.0环境为例。
一、借用工具,不安装.net framework 2.0
这种方式有两种普遍使用的方法,借用飞信的虚拟.net环境和使用MONO启动程序。
1、使用飞信虚拟机的方式。下载飞信安装文件http://www.skycn.com/down.php?uri=http://skycn.gjwww.com:82/down/Fetion2008_skycn.zip,安装成功后,在安装目录下:China Mobile\Fetion\VMDotNet\v2.0.50727(不同的版本目录不太一样,但是都有一个VMDotNet文件夹,找到它)FetionVM.exe这个文件,把C#运行程序拷贝到这里,用FetionVM.exe启动你的exe,例如可以写成批处理:execute.bat
FetionVM.exe 你的.exe
FetionVM.exe 你的.exe
这个文件和程序都放在飞信的FetionVM.exe文件在一个目录下就可以了。
2、使用MONO。过程和使用飞信一样,下载http://download.mono-project.com/archive/2.10.6/windows-installer/1/mono-2.10.6-gtksharp-2.12.11-win32-1.exe,安装后,安装目录Mono-2.10.6下,就是含有bin和lib这两个文件夹的那个目录,同样把程序拷过来,调用,依然以批处理为例:execute.bat
bin\mono.exe 你的.exe
bin\mono.exe 你的.exe
批处理文件和程序放在同一个目录。
这两种方式我测试过,一些简单的WinForm程序都能运行,不用装.net环境,但是大型的软件涉及到数据库的就运行不了了,可能是不支持数据库的原因。
二、缩减.net安装包
这个方法就是安装.net环境后,删掉不用的.net里的dll,这个操作起来有些麻烦,需要不断地删除dll然后运行程序测试,而且经过删除的.net环境只适用程序,没有通用性,但是这个是可以减少.net环境的大小的,就减少了程序安装包的大小。
一、借用工具,不安装.net framework 2.0
这种方式有两种普遍使用的方法,借用飞信的虚拟.net环境和使用MONO启动程序。
1、使用飞信虚拟机的方式。下载飞信安装文件http://www.skycn.com/down.php?uri=http://skycn.gjwww.com:82/down/Fetion2008_skycn.zip,安装成功后,在安装目录下:China Mobile\Fetion\VMDotNet\v2.0.50727(不同的版本目录不太一样,但是都有一个VMDotNet文件夹,找到它)FetionVM.exe这个文件,把C#运行程序拷贝到这里,用FetionVM.exe启动你的exe,例如可以写成批处理:execute.bat
FetionVM.exe 你的.exe
FetionVM.exe 你的.exe
这个文件和程序都放在飞信的FetionVM.exe文件在一个目录下就可以了。
2、使用MONO。过程和使用飞信一样,下载http://download.mono-project.com/archive/2.10.6/windows-installer/1/mono-2.10.6-gtksharp-2.12.11-win32-1.exe,安装后,安装目录Mono-2.10.6下,就是含有bin和lib这两个文件夹的那个目录,同样把程序拷过来,调用,依然以批处理为例:execute.bat
bin\mono.exe 你的.exe
bin\mono.exe 你的.exe
批处理文件和程序放在同一个目录。
这两种方式我测试过,一些简单的WinForm程序都能运行,不用装.net环境,但是大型的软件涉及到数据库的就运行不了了,可能是不支持数据库的原因。
二、缩减.net安装包
这个方法就是安装.net环境后,删掉不用的.net里的dll,这个操作起来有些麻烦,需要不断地删除dll然后运行程序测试,而且经过删除的.net环境只适用程序,没有通用性,但是这个是可以减少.net环境的大小的,就减少了程序安装包的大小。
展开全部
1、没有.netframework 肯定就不能运行C#程序
2、现在的win7系统已经内置 .netframework 了,一般来说不用装,再说了如果用户愿意接受你的程序,也应该能接受这几十兆的 .netframework 吧。
3、目前还没听说能够抽取需要的类库这种方法。
4、向下兼容应该是不行的吧~
2、现在的win7系统已经内置 .netframework 了,一般来说不用装,再说了如果用户愿意接受你的程序,也应该能接受这几十兆的 .netframework 吧。
3、目前还没听说能够抽取需要的类库这种方法。
4、向下兼容应该是不行的吧~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
必须安装
从 vista 开始,自带.net framework
如果不安装,就得自带.NET虚拟机(类似JAVA)
.NET 3.5 下开发的,能否在 2.0 下用,要看 用到了哪些namespace,如果用到了3.5才有的,那就不行。
从 vista 开始,自带.net framework
如果不安装,就得自带.NET虚拟机(类似JAVA)
.NET 3.5 下开发的,能否在 2.0 下用,要看 用到了哪些namespace,如果用到了3.5才有的,那就不行。
更多追问追答
追问
类库里的类可以修改吗?.net framework没有开放源代码,没有开放到哪个地步,我们只能调用基类里的方法,或者重写,能直接修改它们吗?
追答
直接修改肯定是不建议的。
.NET 4 应该是开源了。
推荐是 继承、重写 或 重载
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
。net更相当于平台吧,你可以拿java虚拟机来对比他,没有java虚拟机java就运行不了,没有。net框架c#就运行不了,仅此而已,只不过java虚拟机好多都默认了,。net没有而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在打包分发时将用到的组件打包,用户安装程序的时候就会自动安装该程序使用的组件了。不会安装所有的后台类库。
追问
但网上有些软件安装前却提示必须安装。netframwork,不然软件本身不能安装,这是因为没有将那些组件打包到安装文件里吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询