vscode
여러 프로젝트 설정
수색…
비고
로컬 프로젝트 참조
.sln
및 .proj
파일과 같은 것은 없습니다.
폴더 대신 Visual Studio 코드에서 폴더 가 사용됩니다.
각 프로젝트 폴더에는 별도의 project.json
파일이 있어야합니다.
/MyProject.Core
SourceFile.cs
project.json
/MyProject.Web
/Controllers
/Views
project.json
참조하려면 MyProject.Core
에서 MyProject.Web
프로젝트 편집 MyProject.Web\project.json
파일과 종속성을 추가 :
// MyProject.Web/project.json
{
"dependencies": {
"MyProject.Core": {"target": "project"},
...
}
"buildOptions": {
"emitEntryPoint": true
}
}
"emitEntryPoint": true
는 MyProject.Web
이 솔루션의 시작 프로젝트임을 나타냅니다. MyProject.Core
는 project.json
파일에서이 플래그를 비활성화해야합니다.
// MyProject.Core/project.json
{
...
"buildOptions": {
"emitEntryPoint": false
}
}
프로젝트를 빌드하십시오 (Mac : ⌘ + Shift + B , Windows : Ctrl + Shift + B ). 각 프로젝트에는 새로운 .dll
파일이있는 \bin
및 \obj
폴더가 있어야합니다.
솔루션 구조
프로젝트를 그룹화하는 것은 매우 일반적입니다. 예를 들어 테스트 프로젝트를 /test
폴더에두고 소스 프로젝트를 /src
폴더 아래에 두는 것이 일반적입니다. global.json
파일을 추가하고 비슷한 구조를 만듭니다.
global.json
/src/
/MyProject.Core/
SourceFile.cs
project.json
/MyProject.Web/
/Controllers
/Views
project.json
/test/
/MyProject.Core.UnitTests/
SourceFileTest.cs
project.json
/MyProject.Web.UnitTests/
/Controllers
/Views
project.json
빈 global.json
파일을 편집하고 프로젝트 그룹을 지정하십시오.
{
"projects":["src", "test"]
}
VS 코드는 tasks.json
을 사용하여 작업을 실행 (예 : 솔루션 작성)하고 launch.json
을 사용하여 프로젝트를 시작합니다 (예 : 디버깅). 이러한 파일을 찾을 수 없으면 F5 키 를 눌러 디버깅을 시작하고 오류를 무시하면 VS 코드는 파일과 함께 루트 폴더 .vscode
폴더 아래에 생성됩니다.
launch.json
파일을 편집하고 시작 라이브러리의 경로를 지정하고 MyProject.Web
을 프로젝트 이름으로 변경하십시오.
{
"configurations": [
{
...
"program": "${workspaceRoot}/src/MyProject.Web/bin/Debug/netcoreapp1.0/MyProject.Web.dll",
"args": [],
"cwd": "${workspaceRoot}/src/Washita.Web",
...
}
}
tasks.json
파일을 편집하고 시작 라이브러리의 경로를 지정하고 MyProject.Web
을 프로젝트 이름으로 변경하십시오.
{
"tasks": [
{
"taskName": "build",
"args": [
"${workspaceRoot}/src/MyProject.Web"
],
"isBuildCommand": true,
"problemMatcher": "$msCompile"
}
]
}
이제 .NET 소스 파일을 빌드하고 디버깅 할 수 있어야합니다.
그러나 Intellisense는 여러 프로젝트 구성으로 인해 사라집니다. 이 문제를 해결하려면 .cs
파일을 열고 오른쪽 하단의 Select project
선택을 Select project
하여 해당 프로젝트 (project.json)로 전환 Select project
.