2014-06-05 2 views
59

프로젝트에 특정 NuGet 패키지를 추가 할 때 .csproj 파일의 첫 번째 속성 그룹에 이상한 항목이 나타나는 경우가 있습니다.NuGetPackageImportStamp 란 무엇입니까?

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

때마다 스탬프가 다르며 순차적으로 보이지 않습니다.

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

이 때마다 추가되는 것으로 보이는 패키지 하나는 현재의 4.7.49 버전 인 StyleCop.MSBuild입니다. 이 패키지를 새 프로젝트에 추가하기 만하면이 미스터리 항목이 프로젝트 파일에 표시됩니다.

답변

63

그것은 비주얼 스튜디오에 대한 해결 방법입니다 2013

당신이 NuGet source code 보면 당신은 NuGet 패키지를 추가 또는 MSBuild를 가져 오기를 제거 할 때 NuGet이 속성을 추가하는 것을 볼 수 있습니다. 매번 새로운 GUID를 사용하며 Visual Studio 2013에 프로젝트가 변경되었음을 알리는 방법 인 것으로 보입니다. MSBuild 가져 오기를 추가하거나 제거하는 것만으로는 Visual Studio에서 런타임에 프로젝트가 변경되었음을 알 수 없기 때문입니다.

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

속성이 필요하지 않으므로 삭제할 수 있다고 생각합니다. 솔루션을 닫았다가 다시 열면 가져온 MSBuild 대상이 Visual Studio에 다시로드됩니다.

이 해결 방법은 다른 버전의 Visual Studio에서 필요하지 않습니다.

+0

이렇게하면 프로젝트를 Visual Studio 2015로 이식 할 때 제거 할 수 있습니까? –

+0

예, 제거 할 수 있습니다. –

+1

현재 2 개의 분기를 병합 중이며이 값은 각 프로젝트의 'csproj' 파일에서 항상 다릅니다. 내가 선택한 GUID는 무엇입니까? – hvaughan3