如果你写了一个在.net Core上运行的c#或f#程序,同样的字节码是否也能在.net Core上运行(没有安装.ne

本文关键字:Core 运行 net ne 字节 安装 是否 如果 一个 程序 | 更新日期: 2023-09-27 18:05:31

如果你写了一个在。net Core上运行的c#或f#程序,同样的字节码也会在。net上运行吗(没有安装。net Core)?

我听说反射的工作方式不同,但我不清楚这些差异是否是API的一部分。

如果你写了一个在.net Core上运行的c#或f#程序,同样的字节码是否也能在.net Core上运行(没有安装.ne

在。net Core 1.0中有新的可能性,比如能够在。net Core平台或传统的。net Framework 4.5.x上运行应用程序。环境设置取决于应用程序的类型(可移植或自包含的应用程序)和目标框架。

来自。net Core Application Deployment文档:

你可以用以下两种方式部署你的。net Core应用:

  • 作为一个便携式应用程序。便携式应用程序依赖于共享的系统范围目标系统上的。net Core版本。因为。netCore已经存在,您的应用程序可以在安装之间移植net核心。你的应用只包含它自己的代码和任何第三方的代码. net核心库之外的依赖。可移植的应用程序是.dll文件,可以通过使用。net启动实用程序从命令行。例如,dotnet app.dll运行一个便携式应用程序命名为app.

  • 作为自包含的应用程序。与便携式应用程序不同,a自包含应用程序不依赖于任何共享组件存在于目标系统上。所有组件,包括。net Core库和。net Core运行时,都包含在应用程序中并且与其他。net Core应用程序隔离。自包含的应用程序包括一个可执行文件(如Windows上的app.exe)平台为一个自包含的应用程序命名为app),这是一个.NET Core主机的重命名版本,以及.dll文件(如app.dll),这是实际的应用程序。

关于框架指定(在这里阅读更多)

  • 项目中的"框架"部分。Json指定框架或你的应用支持的框架列表。

  • 项目。Json是一种使用不基于的包/库的方法与目标核心平台版本相同的版本,例如"dnxcore"和portable-* lib,如下面的一个示例所示。只对。net Core和。net Core版本使用"导入"是很重要的可移植类库。与TFMS一起使用传统的。net框架可能会导致问题或故障。

  • 当你的应用支持多个框架时,你可以选择性地运行你的应用在一个或另一个框架上通过选择默认框架从Visual Studio或从命令行(如下面解释)。