在没有.net Framework的情况下运行基于.net的应用程序
是否有一种方法可以在未安装.net framework的情况下运行基于.net的应用程序。有没有办法做到这一点。有没有一个软件可以做到这一点。商业软件也是可能的 增加:在没有.net Framework的情况下运行基于.net的应用程序,.net,deployment,.net-2.0,.net,Deployment,.net 2.0,是否有一种方法可以在未安装.net framework的情况下运行基于.net的应用程序。有没有办法做到这一点。有没有一个软件可以做到这一点。商业软件也是可能的 增加: 有人有过使用.NET framework的经验吗?我所知道的.NET framework的唯一替代品是MONO(适用于LINUX) 您可以使用mono来静态链接所有需要的框架DLL 当然,这限制了您对框架的mono实现,它正在变得更好,但在一些地方仍然不完整 更新: 根据您的各种评论,我的最佳建议是使用该框架的2.0版。这将在
有人有过使用.NET framework的经验吗?我所知道的.NET framework的唯一替代品是MONO(适用于LINUX) 您可以使用mono来静态链接所有需要的框架DLL 当然,这限制了您对框架的mono实现,它正在变得更好,但在一些地方仍然不完整
更新:
根据您的各种评论,我的最佳建议是使用该框架的2.0版。这将在Windows2000上顺利安装,如果需要,您可以从VisualStudio2008将其作为目标
我对你的windows 2000要求也有点好奇。您是部署到业务环境还是家庭环境 几乎没有家庭用户使用windows 2000。家庭用户最终选择了(不寒而栗的)Windows ME,而Windows ME几乎是在同一时间发布的,因此几乎完全转向了Windows XP。与windows 2000相比,您更可能在家中看到windows 98计算机,甚至连Microsoft都不支持windows 98 另一方面,很多企业仍然大量使用windows 2000计算机。但是业务环境在安装.Net framework时通常不会遇到问题。如果有必要,他们甚至可以通过组策略部署将其自动添加到计算机中。使用Mono,它由Novell开发,是开源的 编辑:问题是关于在没有安装运行时的情况下运行,而不管“供应商”是什么。即便如此,这里还是有一个指向Mono的维基百科条目的链接。享受
有几种不同的工具,我试过的有:
- (现在)(现在)
如果你的意思是“我可以在不安装Microsoft的.NET framework和CLR的情况下运行.NET应用程序吗?”那么答案是只有在你能找到替代方案的情况下,而Mono是我所知道的唯一一款。你没有提到你希望运行的软件类型,所以我想我会加上我的两分钱 微软已经发布了Silverlight,一个基于.NET的浏览器插件,他们一直在与Novell合作,推出一个基于上述Mono编译器的Silverlight版本,名为Moonlight。Microsoft本机支持Windows和Mac OS X 10.5 如果您想了解更多信息,请访问以下链接:
在完整性方面的兴趣,以及与ReMo的反应一起考虑的事项。
你有没有想过用本机代码编写应用程序?这样,您只需部署exe即可。如果你需要一个RAD环境来提高生产率,那么像Delphi或C++ Builder之类的工具会给你一个非常类似FCL的感觉(Delphi的VCL是安德斯·海尔斯伯格在移动到MS之前建立起来的,所以很可能没有C语言对delphi非常熟悉) < P>我的团队面临着类似的问题。我们需要在没有可用的.NET框架的Windows PE下运行.NET 3.5 WPF应用程序。我评估了所有选项,发现Xenocode后期构建是最好的 它的GUI有点违反直觉,在让它工作的过程中有一些坎坷,但从那以后它一直是可靠的 如果您这样做,请注意,您需要确保在生成非托管可执行文件之前对代码进行了完全调试,因为您无法调试生成的应用程序(除非您喜欢assembler)
还请注意,嵌入.NET framework会产生一个大的可执行文件~对于2.0来说是20MB,对于3.5来说是~40MB。当您使用支持.net的操作系统时,这听起来真是太麻烦了 .NET2.0我想现在甚至可以作为Windows更新,它只有26mb,而且你只安装一次。如果你想要的东西是Win32本地的,回到非托管C++。 另请注意:(虽然不是windows 2000,但它提到“不久,微软将为没有.NET Framework版本的XP SP2计算机发布一个超小型下载版”。是我发现的更好的解释之一: 实际上,这是不可能的。理论上,编译器可以检查 应用程序正在使用的所有类,并将该代码包含在应用程序中 应用程序,并将整个过程编译为本机代码。但是,这仍然没有实现 考虑CLR本身,它包含垃圾等核心功能 收集器、程序集加载器、元数据读取器等。所有这些都是本机的 代码,所以它们必须被复制 此外,并非.NET类中的所有方法都在托管代码中。如果你看 在Reflector中的反汇编代码中,您将看到一些方法被标记 使用MethodImplAttributes.InternalCall标志。这意味着实际的 该方法的实现是CLR内部的。任何编译C#的系统 (或任何其他.NET语言)到本机代码必须复制所有这些, 这将是一个巨大的努力。而由此产生的应用程序可能会非常复杂 大的
如果不想使用.NETFramework,我想最好考虑使用其他编程语言,哪个基因