항목 X에 대한 게시 속성을 적용 할 수 없습니다.


90

기본 솔루션에서 빌드를 수행 할 때마다 다음 경고가 표시됩니다.

항목 "microsoft.visualstudio.qualitytools.unittestframework"에 대한 게시 속성을 적용 할 수 없습니다.

전에 이런 걸 본 사람이 있습니까? 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 모든 개발자 컴퓨터와 TFS 빌드 서버에서도 발생합니다. 그러나 디버그 모드에서만 나타납니다.

답변:


165

ClickOnce와 관련된 문제인 것으로 보입니다. 프로젝트로 이동하여 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오. 게시 탭으로 이동하여 애플리케이션 파일을 클릭합니다. '모든 파일 표시'확인란을 선택하고 파일 목록을 스크롤합니다. 결국 노란색 느낌표가있는 파일을 보게됩니다. 이 파일은 분리되어 제거해야합니다. 파일을 마우스 오른쪽 버튼으로 클릭하면 제거 옵션이 있어야합니다.

이제 솔루션을 구축하면 경고가 사라집니다.


14
그 문제를 두 번 검색 하고이 답변을 찾았습니다. 결국 나는 배울 것이다. : p
Nick Spreitzer 2014 년

4
Show all files여기서 핵심입니다.
MEMark 2011

5
@NickSpreitzer 세 번째입니다. 이번에는 내 의견에 놀랐습니다.
MEMark

'PublishFile'섹션을 처리하는 csproj 파일을 업데이트 할 수도 있습니다. 물론 이것은 매우 신중하게 이루어져야합니다.
Jerome

3

가장 많이 득표 한 답변은 현재로서는 완벽하지만 더 큰 폭발을 다루는 사람들은이 대안 답변의 이점을 누릴 수 있습니다. 파일 수준에서 유사한 수정 사항을 설명합니다.

경고는 다음과 같은 요소로 인해 발생합니다.

<PublishFile Include="THIS IS USUALLY SOME IMAGINARY DLL">
  <Visible>False</Visible>
  <Group>
  </Group>
  <TargetPath>
  </TargetPath>
  <PublishState>Exclude</PublishState>
  <IncludeHash>True</IncludeHash>
  <FileType>Assembly</FileType>
</PublishFile>

... 경고를내는 프로젝트 파일 (.csproj)에서. PublishState "Exclude"를 확인하십시오. 이 요소는 "가상 DLL을 게시하지 마십시오"라고 말합니다. 게시 시간에 그러한 DLL이 어디에도 없다면 이는 분명히 불필요한 지시이지만 게시 프로세스가 파일의 ID를 평가할 수 없기 때문에 경고를 발생시킵니다.

PublishFilePublishState "Exclude"가있는 경우 경고에 언급 된 각 배포 항목에 대한 전체 요소를 제거 할 수 있습니다 . PublishState "Exclude"를 사용하여 모든 요소를 ​​기계적으로 제거하지 마십시오. 이에 대한 경고가없는 경우 파일이 게시시 사용 가능할 수 있으며 게시 될 수 있습니다. 이는 원치 않는 제품 변경이 될 수 있습니다. 경고를 제거하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.