다음을 통해 공유


NuGet 경고 NU5131

참조는 nuspec에서 발견되었지만 일부 참조 어셈블리는 nuspec 및 ref 폴더 모두에서 찾을 수 없습니다. 다음 참조 어셈블리를 추가합니다.

  • ref/net472/ 디렉터리에 AssemblyName.dll 추가

문제

NuGet에는 패키지 작성 자가 패키지를 사용하는 프로젝트에서 컴파일 시간에 사용할 수 있는 어셈블리를 선택할 수 있는 기능이 있습니다.

필요한 규칙을 따르지 않으면 어셈블리 누락으로 PackageReference 인해 런타임에 패키지를 사용하는 프로젝트가 실패할 수 있습니다.

솔루션

nuspec 파일 섹션의 <references> 어셈블리 목록에는 일치하는 어셈블리 ref/<tfm>/가 있어야 합니다.

예를 들어 다음 파일이 있는 패키지를 고려합니다.

lib\net472\MyLib.dll
lib\net472\MyHelpers.dll
lib\net472\MyUtilities.dll

패키지 작성자가 직접 호출 MyUtilities.dll하는 코드를 작성하지 못하도록 패키지 소비자가 nuspec 파일에 다음을 추가하려고 합니다.

<references>
    <group targetFramework="net472">
        <reference file="MyLib.dll" />
        <reference file="MyHelpers.dll" />
    </group>
</references>

이 패키지는 .를 사용할 PackageReference때 의도한 대로 작동하지 않습니다. 이 문제를 해결하려면 패키지에 다음 파일도 포함되어야 합니다.

ref\net472\MyLib.dll
ref\net472\MyHelpers.dll