我使用最新的Visual Studio 2019创建了一个.NET Core 3.1
我将
AnyCpu
控制台应用程序。它唯一的代码是使用Console.WriteLine("Hello World!")
创建的样板代码。我编译并在我的Windows 10 x64计算机上运行,没有问题。我将
Debug
文件夹复制到32位的Windows 7计算机上,并尝试运行控制台应用程序。我收到以下消息(Windows 7计算机上安装了.NET Core 3.1运行时):
但是,如果我使用x86编译控制台应用程序,那么在Windows 7计算机上它将正常运行。使用VS2019和.NET Core 3/3.1,此文件版本与您正在运行的Windows版本不兼容。请查看您计算机的系统信息,以确定您是否需要运行32位(x86)或64位(x64)程序的版本,然后联系软件发布者。
AnyCpu
是否有更改?我本来认为,针对AnyCpu
编译的代码应该可以在32位和64位下正常工作。
x86
以外的任何目标都会产生PE32+.exe
文件,并且PE32+.exe
文件将作为64位进程启动。不太确定它是如何相关的,但我发现在发布时针对win-x86
运行时可以生成一个x86.exe
,即使在64位Windows 10上也是如此。 - Lance U. Matthews