如何在 Visual Studio 2005 或 2019 中为 .NET Framework 2.0 编译简单的 WinForms C# 应用程序?

How do I compile a simple WinForms C# application for .NET Framework 2.0 in Visual Studio 2005 or 2019?

提问人:arnold_w 提问时间:5/4/2021 最后编辑:Julius Aarnold_w 更新时间:5/12/2021 访问量:448

问:

我需要创建一个非常简单的 WinForms C# 应用程序,该应用程序只需要 .NET Framework 2.0 即可正确执行(由于不允许客户升级或将其计算机连接到 Internet)。

在我的计算机上,我安装了 Visual Studio (VS) 2005 和 VS2019。

  1. 我首先尝试了 VS2005 并创建了一个空的 WinForms 应用程序,并在项目文件中撒上标签并编译。<TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
  2. 然后,我检查了JetBrains dotPeek中的.exe文件(根据我在如何找出可执行文件需要运行哪个版本的.NET Framework?中找到的提示),但它说它是.NET 3.5应用程序。
  3. 然后我尝试了 VS2019,但我不必手动操作项目文件,而是使用用户友好的下拉列表来选择目标框架并将其设置为 2.0。但是,结果是一样的,应用程序变成了 .NET 3.5 应用程序。

有人知道我做错了什么吗?

C# visual-studio net-2.0 .net-framework-version

评论

1赞 Julius A 5/4/2021
本地计算机上是否安装了 .NET Framework 2.0?这是链接,microsoft.com/en-gb/download/details.aspx?id=6523
0赞 Marc Gravell 5/4/2021
是否考虑过 MSBuild.Sdk.Extras?这是使用 SDK 样式的 csproj 构建的 protobuf-net(旧的 v2 分支),但目标(除其他外).NET Framework 2.0 - github.com/protobuf-net/protobuf-net/blob/2.4.1/src/... - 重要的行是 和 ;下面是 MSBuildSdkExtras 项目页,其中包含详细信息:Here's the MSBuildSdkExtras project page, with more info: github.com/novotnyllc/MSBuildSdkExtras<Project Sdk="MSBuild.Sdk.Extras"><TargetFrameworks>net20</TargetFrameworks>
0赞 Julius A 5/4/2021
此外,您还可以使用 learn.microsoft.com/en-us/dotnet/framework/migration-guide/ 中的说明检查安装了哪些 .NET Framework...
0赞 jdweng 5/4/2021
在解决方案资源管理器中,检查引用。您可能需要删除一些引用。
1赞 arnold_w 5/4/2021
Julius A:我 github.com/jmalarcon/DotNetVersions 下载了这个工具,结果是这样的:Currently installed "classic" .NET Versions in the system: 2.0.50727.4927 Service Pack 2 3.0.30729.4926 Service Pack 2 3.5.30729.4926 Service Pack 1 4.0.0.0 4.8.04084

答:

0赞 arnold_w 5/12/2021 #1

问题似乎是 JetBrains dotPeek 不可靠。我尝试了JetBrains dotPeek报告使用的.exe文件使用.NET Framework 3.5,但是在仅安装了Windows 2000和.NET Framework 2.0的计算机上执行它没有问题。我同意这个答案 如何找出可执行文件需要运行哪个版本的 .NET Framework?最好在记事本中检查 .exe 文件以确定它需要哪个 .NET 版本。