在 .NET Core自包含应用程序中...我们需要在project.json中指定运行时 (RID),我们希望我们的应用程序针对其发布...为什么会这样?.NET Core 是跨平台的,与我们将应用程序部署到哪个平台或操作系统无关。不是吗?
问问题
187 次
1 回答
9
正是因为它是独立的......它包含整个 .NET Core,或者至少与运行应用程序所需的一样多。例如,虽然 .NET Core 是跨平台的,但这并不意味着您可以在 Windows 10 IoT ARM 机器上使用 Linux x64 CLR 二进制文件。同样,您的应用程序可能依赖于本地库,这会因平台而异……它不是“一刀切”。
相反,您说要为哪些平台构建,然后您会为每个平台获得一份应用程序副本,以及该平台的运行时和库。
听起来您想要的是便携式应用程序而不是自包含应用程序 - 此时您依赖于目标机器上已经存在的 .NET Core 版本,这将取决于该机器的平台。
有关独立应用程序和可移植应用程序之间差异的更多详细信息,请参阅.NET Core 应用程序部署文章。
于 2016-09-03T20:20:51.917 回答