对于面向.NET Core 1.0的控制台应用程序项目,我无法弄清楚如何在构建期间输出.exe.项目在调试中运行良好.
我已经尝试发布该项目,但这也不起作用.有道理,因为.exe将是特定于平台的,但必须有一种方法.我的搜索只引用了使用project.json的旧版.Net Core版本.
无论何时我建立或发布,这都是我得到的.
以下是DNX的说明:
.NET执行环境(DNX)是一个软件开发工具包(SDK)和运行时环境,具有构建和运行Windows,Mac和Linux的.NET应用程序所需的一切.它提供主机进程,CLR托管逻辑和托管入口点发现.DNX是为运行跨平台的ASP.NET Web应用程序而构建的,但它也可以运行其他类型的.NET应用程序,例如跨平台控制台应用程序.
DNX是单声道的替代品吗?如果没有,那会有什么区别?
我想构建一个.NET核心项目作为EXE而不是DLL,以便它可以执行.
这里的答案不起作用:如何运行.Net Core dll?
以下是示例代码:
using System;
namespace ConsoleApplication
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的project.json:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"buildOptions": {
"debugType": "portable",
"emitEntryPoint": true
},
"dependencies": {},
"frameworks": {
"netcoreapp1.1": {
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.1.0"
}
},
"imports": "dnxcore50"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我目前正在使用VSCode,每当我使用构建任务构建项目时,或者运行dotnet restore我只是.dll在我的bin/Debug文件夹中获取.
如何将.NET核心应用程序构建为exe?
额外奖励:我这样做,会在Mac或其他设备上运行吗?
我创建了一个针对.NET Core Framework 1.1的简单.NET核心控制台应用程序.当我构建它时,它会创建一个DotNetCoreConsoleApp.dll在\bin\debug文件夹中命名的程序集文件.所以我没有什么可以直接双击并直接运行但有趣的是当我按下开始调试项目时,F5Visual Studio就可以启动一个进程.
我项目的项目配置如下:
如何在没有任何exe文件的情况下启动这样的应用程序进程?据我所知,如果文件包含PE头,Windows只能将文件理解为进程的起点.