我刚尝试在windows上快速启动dotnet核心,按照示例,我创建了一个桌面应用程序。看起来有点奇怪,“主”程序被编译成“dll”而不再像以前的C#代码那样“exe”。
这是否意味着,从现在开始,dotnet核心将所有内容编译成“dll”,就像java将所有内容编译成“类”一样,不再需要“exe”,因为.net core vm是所有dotnet的沙箱核心应用程序,如jvm?
答案 0 :(得分:3)
是的,确切地说。通过dotnet核心,Microsoft向Java / Node / etc工作流方式迈出了一步,您可以通过命令行工具(dotnet.exe)完成大部分工作。
我认为这是有道理的,因为.NET Core依赖项是应用程序本地的,因此运行时并不像.NET Framework一样分布在文件系统的各处。
答案 1 :(得分:2)
您也可以通过发布Windows操作系统来创建exe。
例如(.Net Core 2.0):
dotnet publish -c release -r win7-x64
您需要在 .csproj 文件中的RuntimeIdentifiers
中指定 win7-x64