Visual Studio Code에서 dotnet 3.x 기반 프로젝트를 열면 오류 CS0246 및 CS0518이 발생하는 문제 해결
소개
프로젝트의 TargetFramework에 netcoreapp3.0 또는 netcoreapp3.1을 지정한 경우 Visual Studio Code에서 프로젝트를 로드하면 CS0246 및 CS0518이 발생하는 문제를 해결합니다.
omnisharp-vscode의 대응 방법 thread
아래의 스레드를 보면 필요한 것은 써 있습니다.
아래의 스레드를 보면 필요한 것은 써 있습니다.
비망록으로서 대응 방법을 이 후의 항목에 기재합니다.
문제점
OUTPUT(출력)에서 OmniSharpLog에 「Did not find 'Microsoft.NETCore.App' in lock file.」라는 에러가 나와 있다.
mono의 msbuild가 16.3 이상 나오지 않으면 발생한다.
Homebrew에서 mono를 설치한 경우 mono는 6.8.0.123(2020/5/22 현재)이 설치되지만 msbuild는 16.1계 때문에 dotnet3.x계에서 문제가 발생한다.
$ msbuild -version
Microsoft (R) Build Engine version 16.1.85+gad9c9926a7 for Mono
Copyright (C) Microsoft Corporation. All rights reserved.
16.1.85.40109
대응 방법
Homebew에서 설치한 mono를 제거합니다.
$ brew uninstall mono
"Download - Stable | Mono"에서 6.8.0 Stable을 다운로드하여 설정합니다.
msbuild가 16.3 이상 확인한다.
$ msbuild -version
Mono 向け Microsoft (R) Build Engine バージョン 16.5.0-ci
Copyright (C) Microsoft Corporation.All rights reserved.
16.5.0.16201
Code→Preferences(기본 설정)→Settings(설정)를 선택합니다.
Search Settings(설정 검색)에 useGlobalMono를 입력하여 필터링합니다.
Omnisharo : Use Global Mono를 "never"로 변경
"Restart OmniSharp"한다.
PROBLEMS(문제)에서 CS0246 및 CS0518과 같은 오류가 사라졌는지 확인합니다.
오류 상세
Visual Studio Code의 문제 탭에서 항목을 선택하고 오른쪽 클릭 → 복사하여 얻은 정보.
{
"resource": "/Users/xxxxx/develpoment/test/obj/Debug/netcoreapp3.1/test.AssemblyInfo.cs",
"owner": "csharp",
"code": "CS0246",
"severity": 8,
"message": "The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?) [test]",
"source": "csharp",
"startLineNumber": 14,
"startColumn": 12,
"endLineNumber": 14,
"endColumn": 18
}
{
"resource": "/Users/xxxxx/develpoment/test/obj/Debug/netcoreapp3.1/test.AssemblyInfo.cs",
"owner": "csharp",
"code": "CS0518",
"severity": 8,
"message": "Predefined type 'System.String' is not defined or imported [test]",
"source": "csharp",
"startLineNumber": 14,
"startColumn": 55,
"endLineNumber": 14,
"endColumn": 61
}
Reference
이 문제에 관하여(Visual Studio Code에서 dotnet 3.x 기반 프로젝트를 열면 오류 CS0246 및 CS0518이 발생하는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s_ryuuki/items/51e11ca6259814275139
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ msbuild -version
Microsoft (R) Build Engine version 16.1.85+gad9c9926a7 for Mono
Copyright (C) Microsoft Corporation. All rights reserved.
16.1.85.40109
Homebew에서 설치한 mono를 제거합니다.
$ brew uninstall mono
"Download - Stable | Mono"에서 6.8.0 Stable을 다운로드하여 설정합니다.
msbuild가 16.3 이상 확인한다.
$ msbuild -version
Mono 向け Microsoft (R) Build Engine バージョン 16.5.0-ci
Copyright (C) Microsoft Corporation.All rights reserved.
16.5.0.16201
Code→Preferences(기본 설정)→Settings(설정)를 선택합니다.
Search Settings(설정 검색)에 useGlobalMono를 입력하여 필터링합니다.
Omnisharo : Use Global Mono를 "never"로 변경
"Restart OmniSharp"한다.
PROBLEMS(문제)에서 CS0246 및 CS0518과 같은 오류가 사라졌는지 확인합니다.
오류 상세
Visual Studio Code의 문제 탭에서 항목을 선택하고 오른쪽 클릭 → 복사하여 얻은 정보.
{
"resource": "/Users/xxxxx/develpoment/test/obj/Debug/netcoreapp3.1/test.AssemblyInfo.cs",
"owner": "csharp",
"code": "CS0246",
"severity": 8,
"message": "The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?) [test]",
"source": "csharp",
"startLineNumber": 14,
"startColumn": 12,
"endLineNumber": 14,
"endColumn": 18
}
{
"resource": "/Users/xxxxx/develpoment/test/obj/Debug/netcoreapp3.1/test.AssemblyInfo.cs",
"owner": "csharp",
"code": "CS0518",
"severity": 8,
"message": "Predefined type 'System.String' is not defined or imported [test]",
"source": "csharp",
"startLineNumber": 14,
"startColumn": 55,
"endLineNumber": 14,
"endColumn": 61
}
Reference
이 문제에 관하여(Visual Studio Code에서 dotnet 3.x 기반 프로젝트를 열면 오류 CS0246 및 CS0518이 발생하는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/s_ryuuki/items/51e11ca6259814275139
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"resource": "/Users/xxxxx/develpoment/test/obj/Debug/netcoreapp3.1/test.AssemblyInfo.cs",
"owner": "csharp",
"code": "CS0246",
"severity": 8,
"message": "The type or namespace name 'System' could not be found (are you missing a using directive or an assembly reference?) [test]",
"source": "csharp",
"startLineNumber": 14,
"startColumn": 12,
"endLineNumber": 14,
"endColumn": 18
}
{
"resource": "/Users/xxxxx/develpoment/test/obj/Debug/netcoreapp3.1/test.AssemblyInfo.cs",
"owner": "csharp",
"code": "CS0518",
"severity": 8,
"message": "Predefined type 'System.String' is not defined or imported [test]",
"source": "csharp",
"startLineNumber": 14,
"startColumn": 55,
"endLineNumber": 14,
"endColumn": 61
}
Reference
이 문제에 관하여(Visual Studio Code에서 dotnet 3.x 기반 프로젝트를 열면 오류 CS0246 및 CS0518이 발생하는 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/s_ryuuki/items/51e11ca6259814275139텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)