2010-03-30 1 views
8

MSBuild 확장 팩 (MEP)의 일부 사용자 지정 작업을 사용하고 있습니다. 내 프로젝트가 여러 파일로 분할됩니다. 이러한 파일에서 MEP 작업을 두 개 또는 세 개의 파일로 두 번 또는 세 번 가져옵니다. 이 같은 일을했을 때 경고 메시지가 나타납니다 경고경고 메시지없이 사용자 지정 작업을 두 번 이상 가져 오는 방법은 무엇입니까?

... MSB4011 : "C : \ 프로그램 파일 \ MSBuild를 \ ExtensionPack MSBuild.ExtensionPack.tasks \" 다시 가져올 수 없습니다. "D : ... \ Tasker.proj (5,3)"에 이미 가져온 것은 입니다. 이것은 일 가능성이 높습니다. 빌드 작성 오류입니다. 이 후속 가져 오기는 무시됩니다. 입니다.

누구든지이 경고 메시지를 제거하는 방법을 알고 있습니까? 도와주세요!

+1

음 ... 두 번 이상 가져 오지 않습니까? – Oded

+1

이 문제에 대해 https://connect.microsoft.com/VisualStudio/feedback/details/726728/msbuild-warning-msb4011-for-multiple-imports-is-harmful-for-property-sheets#tabs를 제출했습니다. –

+0

또한 csproj에서 중복 가져 오기를 확인하십시오. –

답변

12

이 질문의 해결 방법은 다음과 같습니다. 조건을 갖는 임포트를 호출하여 고려중인 프로젝트 파일에 정의 된 고유 한 특성의 존재를 점검하십시오. 희망이 도움이!

+6

다른 곳에서이 질문이 어디에서 왔는지 코드 스 니펫으로 주석을 추가하기 만하면됩니다 :''where'Tasks.targets 'has it' true' – Chris

+1

그리고 만약 내가 정말로 smth를 두번 넣고 싶다면? 다른 매개 변수가있을 수 있습니다. C++ 사람들은 이것을 많이 할 것입니다. – hypersw

+0

VS에서 빌드를 실행할 때도 조건이 다시 조정되지 않습니다. https://msdn.microsoft.com/en-us/library/92x05xfs.aspx – Ivan

0

VS IDE 및 MSBuild 도구를 사용하여 응용 프로그램을 병렬로 빌드하면 경고 메시지가 표시됩니다. 동일한 프로젝트에서 둘 이상의 VS 창을 사용하여 작업 할 때 동일한 문제가 발생할 수 있습니다.

0

자동 생성 된 파일 yourproject.nuget.props를 삭제하면 경고 메시지가 사라집니다.