.NET Core RC2에서 .exe 파일 빌드
새로운 .NET Core RC2 템플릿을 사용하여 프로젝트를 빌드 할 때마다 runnable이 제공 되지 않습니다 . EXE 파일. 콘솔 응용 프로그램을 디버깅하기 위해 F5 키를 누르면
C:\Program Files\dotnet\dotnet.exe
신청. 그리고 내가 사용한다면
dotnet run
폴더에서 명령을 실행하면 잘 실행됩니다. 하지만 .NET Core CLI 도구 없이는 애플리케이션을 실행할 방법이 없습니다.
나의 내용
bin\Debug\netcoreapp1.0\
폴더는 다음과 같습니다.
보시다시피. EXE 파일을 사용할 수 있습니다. 단지 dll.
내가 뭔가를 간과하고 있습니까? 아니면 내 project.json 파일에 문제가 있습니까?
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002702"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": "dnxcore50"
}
}
}
감사!
.NET Core에는 실제로 두 가지 앱 모델이 있습니다.
휴대용 앱 : "DNX 콘솔 앱"에서 크게 영감을받은 이러한 앱은
.exe
파일을 생성하지 않고 대신 .NET Core 공유 런타임에 의해 실행됩니다 (Microsoft.NETCore.App
특수type: platform
속성 덕분에 해당 버전은 패키지에 의해 정의 됨 ). 휴대용 앱을 사용할 수 있으려면 해당 .NET Core 런타임이 머신에 설치되어 있어야합니다. 정확한 버전을 찾을 수없는 경우를 실행할 때 예외가 발생합니다dotnet run
.독립형 앱 : 독립형 앱은
.exe
파일 을 생성한다는 점에서 기존의 .NET 콘솔 앱과 정말 유사 합니다. .NET Core 런타임은 애플리케이션 자체에 직접 포함되기 때문에 컴퓨터에 설치할 필요가 없습니다.
현재 첫 번째 모델을 사용하고 있습니다. 독립형 모델을 사용하려면 다음을 조정해야합니다 project.json
.
runtimes
앱이 대상으로하는 환경을 나열 하는 섹션을 추가합니다 (예 :win7-x64
또는ubuntu.14.04-x64
). 여기 에서 전체 목록을 찾을 수 있습니다 .Microsoft.NETCore.App
종속성을 제거하십시오 . 대신이 패키지로 교체 할 수 있습니다"NETStandard.Library": "1.5.0-rc2-24027"
..
다음은 독립형 앱의 예입니다.
{
"buildOptions": {
"emitEntryPoint": true,
"preserveCompilationContext": true,
"warningsAsErrors": true
},
"dependencies": {
"Microsoft.Extensions.Configuration.Binder": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-final",
"Microsoft.Extensions.DependencyInjection": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging": "1.0.0-rc2-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc2-final",
"NETStandard.Library": "1.5.0-rc2-24027"
},
"frameworks": {
"net451": { },
"netcoreapp1.0": {
"dependencies": {
"System.Net.Ping": "4.0.0-rc2-24027"
},
"imports": [
"dnxcore50",
"dotnet5.6",
"portable-net451+win8"
]
}
},
"runtimes": {
"win7-x64": { }
}
}
대답은 지금 완전한 단계 가있는 문서 에 있습니다.
.NET Core 애플리케이션에 대해 두 가지 유형의 배포를 만들 수 있습니다.
- 프레임 워크 종속 배포
- 자체 포함 된 배포
실행 가능한 .EXE 파일의 경우 자체 포함 배포를 사용해야합니다.
To create a runnable application from a .NET Core console application you can use the dotnet tool. Just run in your project directory:
dotnet publish --runtime win7-x64
This creates a standalone app (self-contained deployment; includes all necessary libraries consuming at least 60MB on your disk). Of course you can also choose other runtimes, like osx.10.11-x64
or ubuntu.16.04-x64
.
If you used the default configuration (New Project -> Console App (.NET Core)
), there is no modification of any configuration file necessary.
step 1: remove "type": "platform",
from Project.json under frameworks
section
step 2: add run time section to your project.json. Note each section is separeted by a comma. Add your runtime. below is just an example for win 10.
"runtimes": {
"win10-x64": {}
}
3 단계 : 프로젝트에서 dotnet restore 명령. (cmd를 열고 src 폴더가있는 프로젝트 폴더로 이동하여 dotnet restor를 실행합니다.)
4 단계 : 4 dotnet pack
단계 : dotnet build -r win10-x64
-또는 그냥 빌드합니다.
5 단계 : debug / netcore / win10 / 아래에 생성 된 .exe를 확인할 수 있습니다.
다음 에서 ASP.NET Core
앱 type
을 default
,으로 변경해보십시오 project.json
.
"Microsoft.NETCore.App": {
"type": "default",
"version": "1.0.0-*"
}
참고 URL : https://stackoverflow.com/questions/37390798/build-exe-file-in-net-core-rc2
'IT박스' 카테고리의 다른 글
Android 팝업 메시지를 토스트라고하는 이유는 무엇입니까? (0) | 2020.10.22 |
---|---|
모바일 앱에 적합한 OAuth 2.0 흐름은 무엇입니까? (0) | 2020.10.22 |
BigInteger에 대한 상한이 있습니까? (0) | 2020.10.22 |
웨이브 패턴 감지 (0) | 2020.10.22 |
"실험용"Kotlin 코 루틴을 프로덕션에 사용할 수 있습니까? (0) | 2020.10.22 |