首页 > 解决方案 > 在没有 .net 框架的情况下运行 winform 应用程序

问题描述

我正在用 c# 开发一个闪存复制保护软件。该软件保留在U盘上(不能转出或安装在电脑中),是一个点击运行软件,无需安装。我知道要让它在其他计算机上工作,计算机必须安装 .net 框架。我在想是否可以将.net framework dll 添加到应用程序的启动路径中。如果它会起作用,请让我知道以及如何去做。

如果除了将我的项目切换到 C 或 C++ 之外还有其他方法,请告诉我。谢谢。

标签: c#.netwindowswinformsframeworks

解决方案


在正常的 .NET 编译中(无论源语言如何),产品是 (MS)IL - (Microsoft) Intermediate Language - dll。在可执行文件的情况下,它被赋予了一些本机引导代码,一个入口点,但它仍然与框架安装紧密相关,并且适用于几乎所有的东西,如 .NET dll。框架必须进行最终的 IL -> Native Code 翻译。IL 是一个与 Java Bytecode 非常相似的概念,但在 Java 中有效和无效的时间大约为 5 年。

.NET Native不编译 IL。它编译硬的本机代码。类似于任何 Native C++(不要误认为是 C++ .NET)编译器会生成的编译器。与 Delphi 编译器相同。编写框架本身的内容相同。最终程序将拥有它访问的所有 .NET .dll 的本地副本。它完全独立于任何 .NET Framework 安装。


推荐阅读