api-ms 重定向 DLL 在 Windows 10/.NET 6 中仍然存在吗
Do I still the api-ms redirect DLLs in Windows 10/.NET 6
我发布的每个应用程序都是 .NET 6 自包含的,之前输出大量 api-ms* assemblies/DLLs。虽然我了解他们在这里的原因,但我认为最初的原因是来自前 P/Invokes 的 API 调用被重定向到较新的 API 调用。
我假设将 RuntimeIdentifier 增加到 win10 或更高版本,例如 net5.0-windows10.0.22000.0 摆脱了它们,但它们仍然存在。
为什么在 never 版本中它们仍然存在,我可以安全地删除它们吗?
如果有很好的参考资料可供阅读,我也会很高兴。我不确定“Windows Internals”中是否写了一些东西,或者我是否错过了它。
正如 Hans Passant 所建议的那样,我在 dotnet/runtime 存储库中提交了一个问题并得到了答案(参见:https://github.com/dotnet/runtime/discussions/65692)。
简而言之,显然自 >= Windows 7 以来,它们不再是必需的,但由于某些内部原因,在发布应用程序时它们仍然存在。尽管如此,我被告知他们正在努力摆脱它们。
我发布的每个应用程序都是 .NET 6 自包含的,之前输出大量 api-ms* assemblies/DLLs。虽然我了解他们在这里的原因,但我认为最初的原因是来自前 P/Invokes 的 API 调用被重定向到较新的 API 调用。
我假设将 RuntimeIdentifier 增加到 win10 或更高版本,例如 net5.0-windows10.0.22000.0 摆脱了它们,但它们仍然存在。
为什么在 never 版本中它们仍然存在,我可以安全地删除它们吗? 如果有很好的参考资料可供阅读,我也会很高兴。我不确定“Windows Internals”中是否写了一些东西,或者我是否错过了它。
正如 Hans Passant 所建议的那样,我在 dotnet/runtime 存储库中提交了一个问题并得到了答案(参见:https://github.com/dotnet/runtime/discussions/65692)。
简而言之,显然自 >= Windows 7 以来,它们不再是必需的,但由于某些内部原因,在发布应用程序时它们仍然存在。尽管如此,我被告知他们正在努力摆脱它们。