.NET CORE 自包含应用程序部署。 .NET Core 跨平台时为什么需要知道 RID
.NET CORE self contained application deployment. Why RID needs to be Known when .NET Core is cross platform
在 .NET Core 自包含应用程序 ... 我们需要在 project.json 中指定运行时 (RID)我们希望我们的应用程序发布反对... 为什么会这样? .NET Core 是跨平台的,与我们将应用程序部署到哪个平台或操作系统无关。不是吗?
正是 因为 它是独立的...它包含整个 .NET Core,或者至少包含 运行 您的应用程序所需的全部内容。虽然 .NET Core 是跨平台的,但这并不意味着您可以在 Windows 10 IoT ARM 机器上使用 Linux x64 CLR 二进制文件。同样,您的应用程序可能依赖于本机库,这会因平台而异……不是 "one-binary-fits-all"。
相反,您说出要为哪些平台构建,然后您会获得每个平台的应用程序副本,以及该平台的 运行时间和库。
听起来您想要的是一个 便携式 应用程序而不是一个独立的应用程序 - 此时您依赖的是已经存在的 .NET Core 版本在目标机器上,这将取决于该机器的平台。
请参阅 .NET Core Application Deployment 文章,了解有关独立应用程序和便携式应用程序之间差异的更多详细信息。
在 .NET Core 自包含应用程序 ... 我们需要在 project.json 中指定运行时 (RID)我们希望我们的应用程序发布反对... 为什么会这样? .NET Core 是跨平台的,与我们将应用程序部署到哪个平台或操作系统无关。不是吗?
正是 因为 它是独立的...它包含整个 .NET Core,或者至少包含 运行 您的应用程序所需的全部内容。虽然 .NET Core 是跨平台的,但这并不意味着您可以在 Windows 10 IoT ARM 机器上使用 Linux x64 CLR 二进制文件。同样,您的应用程序可能依赖于本机库,这会因平台而异……不是 "one-binary-fits-all"。
相反,您说出要为哪些平台构建,然后您会获得每个平台的应用程序副本,以及该平台的 运行时间和库。
听起来您想要的是一个 便携式 应用程序而不是一个独立的应用程序 - 此时您依赖的是已经存在的 .NET Core 版本在目标机器上,这将取决于该机器的平台。
请参阅 .NET Core Application Deployment 文章,了解有关独立应用程序和便携式应用程序之间差异的更多详细信息。