【发布时间】:2015-10-07 08:25:56
【问题描述】:
在构建 C# 应用程序时,我不完全确定何时需要在客户端计算机上安装 .NET 框架。
比如说有一个这样的控制台应用程序:
using System;
using System.IO;
using System.Windows.Forms;
namespace HelloWorld{
class Hello {
static void Main() {
MessageBox.Show("Hello World.");
}
}
}
客户端是否需要安装 .NET 运行时?这可以通过包含 System.Windows.Forms.dll 并将其合并到 exe 中来绕过吗?
谢谢
【问题讨论】:
-
是的,始终需要 .NET 框架。 System.Windows.Forms 是一个 .NET 程序集,因此静态链接到它(以某种方式)将无济于事。但是,现在几乎可以保证安装某些版本的 .NET。见:en.wikipedia.org/wiki/.NET_Framework#Versions
-
是的,如果你知道你支持的操作系统版本,你通常可以定位框架的一个版本并确保它可以工作(就我个人而言,我发现自己的目标是 2-3.5)用于无框架安装的兼容性,具体取决于受众。也就是说,创建一个捆绑框架的安装程序通常相当简单,如果不是微不足道的话
-
感谢您的回答,所以如果我以 .NET 3.5 为目标,如果我正确理解公共语言基础结构,我应该与 W7、8、8.1 和 10 具有开箱即用的兼容性,正确? (假设我没有进行任何 4 次以上的依赖调用。)
-
如果你想制作这样一个简单的应用程序并最大限度地减少依赖项,.NET 可能不是要走的路。
-
与 Java 虚拟机不同,您不能将 .NET Framework 复制到 Windows。