我不完全确定在构建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中来绕过它?
由于
答案 0 :(得分:2)
必须安装.NET Framework。即使您将.NET框架的一部分嵌入到程序集中(例如,使用Fody / Costura)或将它们包含为DLL,.NET框架程序集几乎从不是独立的。例如,System.Windows.Forms.dll
将引用.NET框架中System.Windows.Forms.dll
外部的部分。
幸运的是,默认情况下,.NET框架通常安装在Windows上,因此为了简化生活,您可以只定位某个版本的Windows。例如,我通常以4.0为目标,并假设用户运行的是Windows 7 SP1或更高版本。任何拥有最新Windows 7的人都应该运行SP1,因为它是Windows Update。
这是一个表格,其中.NET版本来自哪个操作系统(source)。
Windows Version | Default .NET
==============================
XP | None
Vista | 3.0
7 | 3.5
7 SP1 | 4.0
8 | 4.5
8.1 | 4.5.1
10 | 4.6
如果您需要知道如何更改目标框架,try this link。基本上,转到项目属性并更改“目标框架”。