当构建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框架必须安装。即使您将。net框架的一部分嵌入到程序集中(例如。使用Fody/Costura)或将它们作为dll包含,. net框架程序集几乎从来不是独立的。例如,System.Windows.Forms.dll
将引用System.Windows.Forms.dll
外部的。net框架的部分。
幸运的是,. net框架通常默认安装在Windows上,因此为了简化操作,您可以只针对特定版本的Windows。例如,我通常以4.0为目标,并假设用户运行的是Windows 7 SP1或更高版本。任何使用最新Windows 7的人都应该运行SP1,因为它是Windows更新。
下面是。net版本在哪个操作系统(源代码)上的表。
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
如果您需要知道如何更改目标框架,请尝试此链接。基本上,进入项目属性并更改"Target Framework"。