.NET SDK 8.0이 설치된 후 netstandard2.0 프로젝트가 로드되지 않습니다.

VS 2022 업데이트를 하니 자동으로 .NET SDK 8.0이 설치 됐습니다.

그 이후로 netstandard2.0 프로젝트가 로드되지 않고
솔루션 전체가 수정, 컴파일이 불가능한 상황이 됐습니다.
image

.NET SDK 8.0을 삭제하려고하니 삭제가 안됩니다.
안내는 VS에서 삭제하라고 하지만 VS에서도 삭제가 안됩니다.
image

VS 2022를 삭제 후 다시 설치해도 이제는 .NET SDK 8.0이
항상 함께 설치 됩니다.

netstandard2.0 프로젝트를 사용하는 이유는
Asp.Net Core 프로젝트와 WPF 프로젝트에서 동시에
클래스를 참조하기 위함입니다.
현재는 Asp.Net Core 7.0과 WPF 4.8을 사용하고 있습니다.

새로운 닷넷 버전이 나왔다고 기존 프로젝트를
막아버리는게 이해가 안됩니다.

장기적으로 볼 때는 .NET SDK 8.0에 맞춰서 프로젝트 전체를
새로 만드는게 맞겠지만 현재는 .NET SDK 8.0이 불안정하다고 판단해서
업데이트하고 싶지 않고 업데이트에 얼마나 많은 시간이 들어갈지 알 수 없어서
당장 프로젝트 수정이 필요한 경우에 대비하고 싶습니다.

해결 방안이 있을까요?

1 Like

새로운 닷넷 버전이 나왔다고 기존 프로젝트를 막아버리는 것은 아닐겁니다. VS 2022 업데이트 및 8.0 설치 후에도 .NET Standard 2.0 프로젝트가 제대로 만들어지는 것이 정상입니다. 무슨 이유 때문인지는 저도 정확히 모르겠네요. 답답하시겠네요.

아직 알려지지 않은 문제일 수도 있으니 좀 더 자세하게 현상을 공유해보시죠. 그리고 정말 문제가 있다면 추후에 아래 공식 Repository에 이슈를 제기하여 닷넷에 기여하실 수도 있습니다.
문제점 · dotnet/코어 (github.com)

아마도 타겟 SDK를 변경하여 해결 할 수 있을 것 같네요.

어떤 문제인지 정확하게 파악 할 수 없어서, 추측으로 답변 드립니다.

netstandard2.0 프로젝트가 로드되지 않고

해당 프로젝트를 최신 VS에서 실행 할 수 없다고 하시는거 같은데 맞을까요?

솔루션 3가지

  1. 솔루션에 모든 bin, obj를 삭제하고 VS를 재실행합니다.
    => 빌드의 잔재들이 충돌을 일으킬 수도 있습니다.
  2. global.json으로 SDK 타겟팅?을합니다.
    참조 => global.json 개요 - .NET CLI | Microsoft Learn
  3. 참조 되는 SDK를 삭제합니다. 8.0, etc..
    => 파일 탐색기 열기 => C:\Program Files\dotnet\sdk 로 이동 => 특정 SDK 폴더 삭제
    최신 SDK를 타겟으로 자동 셋팅 되기 때문에, netstandard2.0 관련 SDK로 타겟팅을 못하고 있는 것으로 추측합니다.


솔루션에서 8.0, 2.0 프로젝트 로드가 되어서 ;; 재현이 안되네요.

2 Likes

답변 감사합니다.
현재는 윈도우를 .NET SDK 8.0이 설치되기 이전 버전으로 돌려서
문제 없이 사용하고 있습니다.
별도의 HyperV Windows10에서 .NET SDK 8.0을 업데이트 후
문제가 되는 솔루션을 로드해봤는데 여기에서는 netstandard 2.0 프로젝트가
잘 로드되는 것을 확인했습니다.
실제 작업PC(Windows 2019)는 혹시 몰라서 나중에 .NET SDK 8.0이 더 안정적인 버전이 나오면
설치해볼 계획입니다.

2 Likes

참고로 직접 확인해보지는 않았지만 Visual Studio 2019에서 .NET 8.0을 사용할 수 없는 것 같습니다. 나중에 도입하시게 되면 참고해보세요.

VS 2022를 사용하고 있습니다.

1 Like

@비틀쥬스 제가 무얼 보고 착각했나봅니다. :rofl: