.NET Core 只有 "dll" 而没有 exe 吗?
Does .NET Core only have "dll" and not exe?
我刚刚在 Windows 上尝试了 .NET Core 的快速启动,按照示例,我创建了一个桌面应用程序。看起来有点奇怪的是“主”程序被编译成“dll”而不是像以前的C#代码那样的“exe”。
是不是说,从现在开始,.NET Core把所有东西都编译成“dll”,就像java把所有东西都编译成“class”一样,不再需要“exe”了因为 .NET Core VM 是所有 .NET Core 应用程序的沙箱,例如 JVM?
是的,没错。借助 dotnet 核心,Microsoft 向 Java/Node/etc 风格的工作流迈进了一步,您可以通过命令行工具 (dotnet.exe) 完成大部分工作。
我认为这是有道理的,因为 .NET Core 依赖项是应用程序本地的,因此运行时不会像 .NET Framework 那样分散在文件系统的任何地方。
您也可以通过为 Windows OS.
发布项目来创建 exe
例如(.Net Core 2.0):
dotnet publish -c release -r win7-x64
您需要在 RuntimeIdentifiers
以及 .csproj 文件
中指定 win7-x64
我刚刚在 Windows 上尝试了 .NET Core 的快速启动,按照示例,我创建了一个桌面应用程序。看起来有点奇怪的是“主”程序被编译成“dll”而不是像以前的C#代码那样的“exe”。
是不是说,从现在开始,.NET Core把所有东西都编译成“dll”,就像java把所有东西都编译成“class”一样,不再需要“exe”了因为 .NET Core VM 是所有 .NET Core 应用程序的沙箱,例如 JVM?
是的,没错。借助 dotnet 核心,Microsoft 向 Java/Node/etc 风格的工作流迈进了一步,您可以通过命令行工具 (dotnet.exe) 完成大部分工作。
我认为这是有道理的,因为 .NET Core 依赖项是应用程序本地的,因此运行时不会像 .NET Framework 那样分散在文件系统的任何地方。
您也可以通过为 Windows OS.
发布项目来创建 exe例如(.Net Core 2.0):
dotnet publish -c release -r win7-x64
您需要在 RuntimeIdentifiers
以及 .csproj 文件