在Windows Server 2008 R2上运行.Net 8程序
因为工作需要,要在客户的Windows Server 2008 R2上运行一个WinForm程序。在网上搜了下之前也有人成功运行过.Net Core 3、.Net 6的Asp.Net Core服务,遂直接拿.Net 8来写了。最后装了3个补丁包之后,也是成功运行。这篇笔记主要记录这3个补丁包。
Windows Server 2008 R2 SP1(KB976932)
这是个大补丁包,包含了很多更新,可以说是必装的。
VC_redist.x64
是个MSVC的库。
KB3063858
这个补丁解决的问题是.Net运行时调用一个Win32 API LoadLibraryExA function (libloaderapi.h)
来加载kernel.dll
时,路径的问题。
参见该函数的微软文档中关于参数dwFlags
的值LOAD_LIBRARY_SEARCH_SYSTEM32的说明:
Windows 7、Windows Server 2008 R2、Windows Vista 和 Windows Server 2008: 此值需要安装 KB2533623 。