Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# 与dotnet 3.5和dotnet 4.0兼容_C#_.net_Wpf_Winforms_Windows 8 - Fatal编程技术网

C# 与dotnet 3.5和dotnet 4.0兼容

C# 与dotnet 3.5和dotnet 4.0兼容,c#,.net,wpf,winforms,windows-8,C#,.net,Wpf,Winforms,Windows 8,最初设置为使用.Net3.5与win7兼容。(实际使用WPF) 但是,对于仅支持.Net4.0的win8用户而言, 用户需要下载并安装.Net3.5, 这会导致糟糕的用户体验 我的问题来了: 如何使软件与多个.Net版本兼容? 事实上,我试着用.NET2.0开发这个软件,它与win7和win8都很好地配合。然而,当谈到.NET3.5时,向后兼容性似乎很糟糕。但是我确实需要3.5或WPF中提供的一些功能 我不介意我是否必须构建多个二进制版本,只要有一个自动选择机制可用 另外,我在上发现了一个类似的

最初设置为使用.Net3.5与win7兼容。(实际使用WPF)

但是,对于仅支持.Net4.0的win8用户而言, 用户需要下载并安装.Net3.5, 这会导致糟糕的用户体验

我的问题来了:

如何使软件与多个.Net版本兼容?

事实上,我试着用.NET2.0开发这个软件,它与win7和win8都很好地配合。然而,当谈到.NET3.5时,向后兼容性似乎很糟糕。但是我确实需要3.5或WPF中提供的一些功能

我不介意我是否必须构建多个二进制版本,只要有一个自动选择机制可用

另外,我在上发现了一个类似的问题,但读完后没有得到任何帮助

编辑
我同时使用winform和WPF。我使用WPF是为了获得更好的UI,然而,正如大家所知,WPF中的webbrowser无法在WPF应用程序中呈现。因此,我使用winform webbrowser。

请确保不要使用目标最低版本中未包含的类型

.NET2、3和3.5都共享相同的CLR,这对您的代码和预期结果应有相同的影响。3.0和3.5也有不同的类型,所以要小心

.NET 4.0具有不同的CLR,您的代码可能不会以与CLR 2.0相同的方式100%运行


但是,为什么不提供可再发行的4.0框架呢。它适用于XP sp3、Vista sp1、7和8

如果您正在制作一个普通的WPF桌面应用程序,只需将您的目标框架移动到.Net 4并完成它即可。Net 4在Windows 7和Windows 8上完全受支持。如果您不想让用户下载安装版.Net 4,请将其包含在安装发行版中。

我能想到的不使用4.0的唯一原因是,用户下载框架的可能性较小。但是现在大多数人都安装了4.0,下载量只有48mb。@NicolasTyler,就是这样。“我想做一个轻量级的桌面软件。”谢谢你的回答。我不打算发布这个框架,因为我正试图构建一个轻量级的软件。50mb的软件包对于我的软件来说太大了。框架2.0是30mb。但正如我之前所说的,用户安装Frameworks2.0的可能性更高。我知道你是从哪里来的,但我不会使用2.0,可能会使用3.0或3.5。我拿出了WinForms并添加了WPF,因为它们都是非常不同的UI技术,而你在问题中根本没有提到WinForms。据我所知,他还没有决定使用WPF或WinForms。谢谢提醒。这篇文章经过编辑@Andy@SolessCHong好吧,这本来不清楚。我并不认为这真的会影响你的问题:)