보통 일반적으로는
visual studio 2022
등을 사용하는데, 다른 언어와 같이 사용하기 위해vscode
에서 설정해보려고 합니다.
저는 c#
을 주로 사용하는 개발자는 아니기에, 간편하게 사용하기 위해 vscode
로 환경을 구성해보려고 합니다.
++ 저는 vscode 디버깅
을 자주 사용하기에 이것도 가능하게 설정해보려고 합니다.
vscode
에서c#
프로젝트를 구성하기 위해 필요한 사항들입니다.
1.vscode extension
2..net sdk
기본적인
c#
확장팩을 설치했습니다.
visual-studio-sdks 에서 프로젝트에 해당하는 버전을 다운로드 받으면 되지만, 문제가 있습니다.
vscode
에서는 sdk 5.0
이상만 디버깅 지원하는듯합니다. 기존 프로젝트가 4.0버전 이하를 사용하는 경우, vscode
에서 제대로 작동하지 않을 수 있습니다.따라서, 저는 8.0
버전을 설치했습니다.
sdk
를 설치하면, 기본 환경변수를 설정이 되지만, 기존에 사용하고 있던, 다른 버전이 있다면 환경변수에서 수정해줘야합니다.
커맨드를 통해
run
,build
,publish
등을 사용
dotnet run
: 프로젝트를 실행dotnet build
: 프로젝트를 빌드dotnet publish
: 프로젝트를 배포
dotnet
을 배포하기 위해 사용하는 명령어로 어떤 비트의 버전에서 사용할지 지정할 수 있다.
dotnet publish -c Release -r win-x64 /p:PublishSingleFile=true /p:SelfContained=true
저장되는 경로
D:/workspace/project/bin/Release/net8.0/win-x64/publish
Argument | Description |
---|---|
-c release | 릴리스 모드로 빌드 |
-r win-x64 | Windows 64비트 플랫폼을 대상 |
-/p:PublishSingleFile=true | 속성을 true로 하면, dll 없이 exe 로만 패키징 |
/p:SelfContained=true | 속성을 true로 하면, .net 런타임 포함(크기가 커진다) |
vscode
에서 디버깅은dll
을 통해서 디버깅됩니다.
아래 경로에서 project.dll
을 통해 디버깅이 이루어집니다.
D:/workspace/project/bin/Debug/net8.0
project.csproj
에publishSingleFile
이 있을 경우,dll
을 포함하지 않는 설정이므로, false로 해주어야 디버깅이 된다.
따라서, 배포시에만 빌드할때, 인자값으로 추가해주면 사용하기 편하다. ex) /p:PublishSingleFile=true
csproj
감사합니다.