명령 줄에서 .NET Core 콘솔 앱을 실행하는 방법


답변:


274

프레임 워크 종속 응용 프로그램 인 경우 (기본값)로 실행합니다 dotnet yourapp.dll.

독립형 응용 프로그램 인 경우 yourapp.exeWindows 및 ./yourappUnix 에서 실행합니다 .

두 응용 프로그램 유형의 차이점에 대한 자세한 내용은 .Net Docs 의 .NET 핵심 응용 프로그램 배포 문서를 참조하십시오.


22
이것을 찾는 데 얼마나 오래 걸 렸는지 놀랍습니다. 모든 종류의 "dotnet run"명령 등을 시도하고 있습니다. 이것은 콘솔 응용 프로그램을 실행하기위한 올바른 dotnet 사용법을 제공하는 많은 검색에서 처음으로 발견 된 곳입니다. Microsoft가 .NET Core를 개발자에게 친숙하지 않은 이유는 무엇입니까?
Glen Thomas

2
@GlenThomas 개발중인 응용 프로그램을 실행하려면을 사용하십시오 dotnet run. 또한, 어디를 보았습니까? 이 정보는 어디에서 기대하십니까?
svick

1
"dotnet run"은 더 이상 이전 project.json 파일이 아닌 최신 MSBuild csproj 설정을 사용하는 .NET 핵심 프로젝트의 경우가 아닌 것 같습니다.
Glen Thomas

1
@GlenThomas 사실이 아닙니다 dotnet run. 새로운 csproj 프로젝트에서 project.json에서와 동일하게 작동합니다.
svick

5
@GlenThomas, 이것이 당신이 가진 문제인지 확실하지 않지만 사용하려고 할 때 dotnet run솔루션 디렉토리가 아닌 프로젝트 디렉토리에 있는지 확인하십시오.
Ryan Lundy

46

암호화 빌드 명령을 사용하지 않고도 EXE (Windows 용)를 매우 쉽게 만들 수 있습니다. Visual Studio에서 바로 할 수 있습니다.

  1. Console App Project를 마우스 오른쪽 단추로 클릭하고 공개를 선택 하십시오 .
  2. 새 페이지가 열립니다 (아래 스크린 샷).
  3. 적중 구성 ...
  4. 그런 다음 배포 모드자체 포함 또는 프레임 워크에 따라 변경하십시오 . .NET Core 3.0에는 단일 실행 파일 인 단일 파일 배포가 도입되었습니다.
  5. 대상 시스템에 .NET Core 런타임이 설치되어 있으면 설치할 파일 수가 줄어들므로 "프레임 워크에 따라"를 사용하십시오.
  6. 탐색기 에서 bin 폴더를 보면 .exe 파일이 있습니다.
  7. 지원되는 구성 및 dll 파일과 함께 exe를 배포해야합니다.

콘솔 앱 게시


5
네. 217 개의 다른 파일 (api-ms-win-core-namedpipe-l1-1-0.dll 등)과 함께 EXE가 있습니다. 어쨌든 이것을 단일 EXE로 묶을 수 있습니까?
Elton

1
좋은 질문 @Elton. 잘 모른다. AFAIK 모든 dll을 배포해야합니다.
Jess

2
독립적으로 구성되어 있다는 사실은 모든 DLL이 있어야한다고 생각합니다. 원하지 않는 경우 배포 모드는 Framework Dependent
kippermand

1
당신은 나의 금요일을 만들었다!
Robin Johnson

20

다른 콘솔 응용 프로그램과 마찬가지로 게시 후에 만 ​​응용 프로그램을 실행할 수도 있습니다.

MyTestConsoleApp이라는 간단한 콘솔 앱이 있다고 가정합니다. 패키지 관리자 콘솔을 열고 다음 명령을 실행하십시오.

dotnet publish -c Debug -r win10-x64 

-c 플래그는 디버그 구성을 사용하려는 경우 (다른 경우 릴리스 값을 사용해야 함)-r 플래그는 응용 프로그램이 x64 아키텍처의 Windows 플랫폼에서 실행됨을 의미합니다.

게시 절차가 완료되면 bin / Debug / publish 디렉토리에있는 * .exe 파일이 표시됩니다.

이제 명령 행 도구를 통해이를 호출 할 수 있습니다. CMD 창 (또는 터미널)을 열고 * .exe 파일이있는 디렉토리로 이동 한 후 다음 명령을 작성하십시오.

>> MyTestConsoleApp.exe argument-list

예를 들면 다음과 같습니다.

>> MyTestConsoleApp.exe --input some_text -r true

2

dotnetcore3.0을 사용하면 PublishSingleFile속성을 사용하여 전체 솔루션을 단일 파일 실행 파일로 패키지 할 수 있습니다

-p:PublishSingleFile=True

소스 단일 파일 실행 파일

의 예 Self Contained, ReleaseOSX 실행 :

dotnet publish -c Release -r osx-x64 -p:PublishSingleFile=True --self-contained True

의 예 Self Contained, Debug리눅스가 실행 64 비트 :

dotnet publish -c Debug -r linux-x64 -p:PublishSingleFile=True --self-contained True

Linux 빌드는 배포에 독립적이며 Ubuntu 18.10, CentOS 7.7 및 Amazon Linux 2에서 작동하는 것으로 나타났습니다.

자체 포함 실행 파일에는 Dotnet Runtime이 포함되며 대상 시스템에 Runtime을 설치할 필요가 없습니다. 게시 된 실행 파일은 다음 위치에 저장됩니다.

<ProjectDir>/bin/<Release or Debug>/netcoreapp3.0/<target-os>/publish/ Linux, OSX 및

<ProjectDir>\bin\<Release or Debug>\netcoreapp3.0\<target-os>\publish\ Windows에서.


csproj 파일에 구성을 추가 할 수도 있습니다.<PublishSingleFile>true</PublishSingleFile>
Mahdi Ataollahi

0

컴퓨터에 .net 코어 SDK가 설치되어 있으면 CMD를 사용하여 콘솔 .net 코어 프로젝트를 실행할 수 있습니다.

Windows 명령 행을 사용하여 콘솔 프로젝트를 실행하려면 디렉토리에서 특정 경로를 선택하고 아래 명령을 입력하십시오.

닷넷 실행


0

cmd 프롬프트에서 실행하기 전에 "appsettings.json"과 "appsettings.Development.json"의 값이 동일한 지 확인하십시오.

명령 프롬프트에서 bin / debug / netcoreapp2.0 폴더로 이동하십시오. "dotnet applicationname.dll"을 실행하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.