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