Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 选择哪个.NET版本以避免安装另一个框架?_C#_.net_Build - Fatal编程技术网

C# 选择哪个.NET版本以避免安装另一个框架?

C# 选择哪个.NET版本以避免安装另一个框架?,c#,.net,build,C#,.net,Build,当我不想在Windows XP SP3/Vista/7/8/8.1/10上安装其他.NET framework版本时,我应该选择什么.NET目标framework版本 所有这些都提供了.NET版本 原因是:我的大多数目标受众几乎没有使用电脑的经验,因此应用程序应该是开箱即用的,而不需要安装额外的.NET framework NET版本对我来说并不重要,因为我只使用自v。1.1 Windows XP兼容性很好,但是是可选的 我已经考虑过用C++来做一个小的存根,只检查安装的.NET,然后提取并启动

当我不想在Windows XP SP3/Vista/7/8/8.1/10上安装其他.NET framework版本时,我应该选择什么.NET目标framework版本

所有这些都提供了.NET版本

原因是:我的大多数目标受众几乎没有使用电脑的经验,因此应用程序应该是开箱即用的,而不需要安装额外的.NET framework

NET版本对我来说并不重要,因为我只使用自v。1.1

Windows XP兼容性很好,但是是可选的

我已经考虑过用C++来做一个小的存根,只检查安装的.NET,然后提取并启动正确的构建。但这只是我的备用解决方案,如果没有其他方法可以做到这一点(顺便说一句,这会起作用吗?)


TL;DR:我不想为我的客户弹出“您需要安装.NET X.Y才能运行此应用程序”的窗口。

根据以下信息:

如果Windows XP支持是可选的,您可以选择预装在Windows Vista和更高版本中的.NET Framework 3.0

编辑:


在本文中,它表示Windows XP中没有预安装.NET Framework。

.NET v3.0包含在Windows Vista中。我不建议再支持WinXP了

如果你想支持XP,你仍然可以使用vor 3.0,因为它也适用于XP SP2以上版本。但在这种情况下,用户可能必须自己更新/安装,因为我不确定它是否预装了任何XP版本

有关更多信息,请参阅


根据您交付应用程序的方式,构建简单的WIX引导程序可能是一种选择。另外,据我所知,如果目标主机上没有所需的.NET版本,单击一次安装程序也可以安装该版本。

可以通过多种方式将.NET framework安装程序与部署的应用程序一起安装。一般来说,除非您在VisualStudio中使用ClickOnce,否则您将需要一个外部包。两个这样的包是WIX工具集和InstallShield包。InstallShield的有限版本附带了一些版本的Visual Studio。在这两种情况下,您都可以选择创建一个先安装必备的.NET framework的安装程序:

使用.Net Framework 4.0(XP支持)并在安装程序之前安装它

Windows XP Home and Professional SP3包括基于MSI的.NET Framework 1.1+SP1

正如已经链接的数据所表明的,这个问题没有通用的解决方案。当您不想随应用程序一起提供安装程序时,它将无法在所有版本的windows上立即运行

XP预装了1.0,但这已经很旧了,我会避免继续使用它,所以有必要安装2、3或4。Vista预装了3.0,但Win 8和Win 10只预装了.NET 4.0或4.5。因此,如果您以3.0框架为目标,Win 8或Win 10的用户需要手动安装软件包(只需单击几下,但这是必需的)


XP最多只支持4.0,任何更新的框架都不会安装在那里

您的答案将来自您的人口统计

如前所述:

XP是为什么不在你的插件中包含所需的.Net版本呢?我认为.NET3或.NET3.5是很常见的。请注意,许多XP用户也有此框架,因为还有其他应用程序也需要此版本,所以他们必须安装它;)在开发应用程序时,您的目标是哪个版本(项目属性->应用程序->目标框架)?这就是我要介绍的内容。同一个维基百科页面还说,3.0和3.5并没有预装在Windows8和10上。至少以后我可以确认。是的。NET3.0/3.5是没有选择的,4/4.5/4.6也不是。(但是谢谢你的链接顺便说一句。另请参阅这篇关于捆绑先决条件的MSDN文章是的,谢谢你解释说没有现成的解决方案。我想我会使用建议的安装程序或存根。