NU1101 원본에 ID가 Microsoft Visual Studio Offline Packages인 패키지가 없습니다. 오류 해결하기

Windows에서 Visual Studio를 처음 설치한 후 .NET 커맨드라인 툴을 이용해서 dotnet tool install 명령을 실행하려고 할 때 아래와 같은 오류를 접하는 경우가 있습니다.

image

툴의 만듦새가 깔끔하지 못해서 개인적으로 아쉬운 부분인데요, nuget.org를 제일 많이 사용하는 피드임에도 불구하고 놀랍게도 디폴트 피드에 들어있지 않은 상태로 사용자 수준의 글로벌 nuget.config 파일에 누락했기 때문에 발생하는 문제입니다.

이 경우, %appdata%\NuGet\Nuget.config 파일을 편집해주셔야 합니다.

디렉터리와 파일이 아예 없을 수도 있으니, 우선 아래의 명령어로 디렉터리 생성을 시도해봅니다. 이미 있는 디렉터리라는 메시지가 나오면 파일 작성을 바로 시작하시면 되겠습니다.

PowerShell

mkdir $env:AppData\NuGet\
notepad.exe $env:AppData\NuGet\NuGet.config

DOS

mkdir %appdata%\AppData\NuGet\
notepad.exe %appdata%\AppData\NuGet\NuGet.config

NuGet.config 파일에는 https://api.nuget.org/v3/index.json 주소가 패키지 소스에 잘 포함되도록 XML 파일을 편집해주고, UTF-8 포맷으로 저장되도록 해주시면 되겠습니다.

몇 가지 참고하실 부분이 있는데요,

  • Windows 10 이후의 메모장에서는 이 부분을 저장할 때 선택할 수 있지만, 이전 버전의 Windows를 사용하시는 경우에는 Notepad++ 등의 얼터너티브 편집기 사용이 필요할 수 있습니다.
  • Visual Studio가 자체적으로 NuGet 패키지를 가지고 있는 경우도 고려해야 하므로, Microsoft Visual Studio Offline Packages 항목도 빠뜨리지 않고 넣어주시는 것을 추천합니다. 이 때, Visual Studio 설치 경로가 다르거나, C 드라이브가 아닌 곳에 설치하셨다면 정확한 경로를 꼭 넣어주셔야 합니다!

다음은 완성된 NuGet.config 파일의 예시입니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
    <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
  </packageSources>
</configuration>

그 후 다시 dotnet install 명령을 실행하면 nuget.org에 있는 패키지를 잘 찾아서 설치하는 것을 확인하실 수 있습니다!

4개의 좋아요