NuGet 경고 NU5129
하나 이상 .<확장> 파일은 '<build_folder>/tfm>/<'에 있지만 '<build_folder>/tfm>/<<package_id>.<확장>'이 아닙니다.
<extension>
는 다음 중 targets
props
하나입니다.
<build_folder>
는 다음 중 하나입니다. build
buildTransitive
buildCrossTargeting
buildMultiTargeting
<tfm>
는 대상 프레임워크 모니커이거나 존재하지 않을 수 있습니다.
<package_id>
는 패키지의 패키지 식별자 입니다.
예:
'build/netstandard2.0/'에서 하나 이상의 .targets 파일이 발견되었지만 'build/netstandard2.0/MyPackage.targets'는 없습니다.
'build/netstandard2.0/'에서 하나 이상의 .props 파일이 발견되었지만 'build/netstandard2.0/MyPackage.props'는 없습니다.
'buildTransitive/net472/'에서 하나 이상의 .props 파일이 발견되었지만 'buildTransitive/net472/My.Package.Id.props'는 없습니다.
'buildMultitargeting/netcoreapp3.0/'에 하나 이상의 .targets 파일이 있지만 'buildMultitargeting/netcoreapp3.0/Contoso.Utilities'에서 발견되었습니다. targets'가 아닙니다.
'build/'에서 하나 이상의 .props 파일이 발견되었지만 'build/AdventureWorks.Tools.props'는 없습니다.
문제
MSBuild props 및 Target을 포함하는 패키지는 확장 .targets
전에 .props
패키지 ID를 사용하는 명명 규칙을 따라야 합니다. 이 규칙을 따르지 않는 파일은 패키지를 사용하는 프로젝트로 가져오지 않습니다.
예: 패키지 ID에 Contoso.Utilities
파일이 있고 포함된 경우 패키지를 build/Contoso.Utilities.props
build/Utilities.targets
사용하여 파일만 Contoso.Utilities.props
프로젝트로 가져옵니다. Utilities.targets
는 NuGet에서 가져오지 않습니다.
솔루션
규칙을 충족하도록 파일 이름을 바꿉니다.
위의 예제 build/netstandard2.0/Utilities.targets
에서는 NuGet에서 가져오기를 build/netstandard2.0/Contoso.Utilities.targets
시작하도록 이름을 바꿔야 합니다. 가져오는 Contoso.Utilities.props
경우 Utilities.targets
확장명도 사용하도록 파일 이름을 .props
바꿉니다.