UFO ET IT

NuGetPackageImportStamp는 무엇입니까?

ufoet 2020. 11. 8. 11:37
반응형

NuGetPackageImportStamp는 무엇입니까?


특정 NuGet 패키지를 프로젝트에 추가 할 때 때때로 .csproj 파일의 첫 번째 속성 그룹에 이상한 항목이 나타납니다.

<PropertyGroup>
  ...
  <NuGetPackageImportStamp>3d051ef3</NuGetPackageImportStamp>
</PropertyGroup>

스탬프는 매번 다르며 순차적 인 것처럼 보이지 않습니다.

<NuGetPackageImportStamp>NuGet 설명서에서 참조를 찾을 수 없습니다 . 그것은 무엇이며 어떻게 작동합니까? 그게 필요 할까?

매번 이것을 추가하는 것으로 보이는 패키지는 StyleCop.MSBuild입니다 . 적어도 현재 4.7.49 버전이 있습니다. 새 프로젝트에 해당 패키지를 추가하기 만하면이 미스터리 항목이 프로젝트 파일에 나타납니다.


NuGetPackageImportStamp는 NuGet 패키지가 MSBuild 가져 오기를 추가하거나 제거했음을 감지 할 수없는 Visual Studio 2013 이상 버전에 대한 해결 방법입니다.

이전 버전의 Visual Studio에는이 해결 방법이 필요하지 않습니다. Visual Studio 2013에서도 속성을 안전하게 제거 할 수 있습니다 . 솔루션을 닫았다가 다시 열면 가져온 MSBuild 대상이 Visual Studio에서 다시로드됩니다.

NuGet 소스 코드 는 패키지가 MSBuild 가져 오기를 추가하거나 제거 할 때 NuGet이이 속성을 추가 함을 보여줍니다. 매번 새 GUID를 사용합니다. Visual Studio 2013은 프로젝트가 변경되었음을 감지하고 다시로드를 제공합니다. Visual Studio 2013에서는 MSBuild 가져 오기를 추가하거나 제거하는 것만으로는 프로젝트가 런타임에 변경되었음을 알 수 없습니다.이 문제는 NuGet이이 해결 방법으로 해결하는 것입니다.

StyleCop.MSBuild NuGet 패키지에는 사용자 지정 MSBuild 대상이 포함되어 있으므로이 NuGet 패키지를 추가하거나 제거하면이 속성이 추가됩니다.

참고 URL : https://stackoverflow.com/questions/24049961/what-is-nugetpackageimportstamp-for

반응형