기본 솔루션에서 빌드를 수행 할 때마다 다음 경고가 표시됩니다.
항목 "microsoft.visualstudio.qualitytools.unittestframework"에 대한 게시 속성을 적용 할 수 없습니다.
전에 이런 걸 본 사람이 있습니까? 이 문제를 해결하는 방법에 대한 아이디어가 있습니까? 모든 개발자 컴퓨터와 TFS 빌드 서버에서도 발생합니다. 그러나 디버그 모드에서만 나타납니다.
답변:
ClickOnce와 관련된 문제인 것으로 보입니다. 프로젝트로 이동하여 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭하십시오. 게시 탭으로 이동하여 애플리케이션 파일을 클릭합니다. '모든 파일 표시'확인란을 선택하고 파일 목록을 스크롤합니다. 결국 노란색 느낌표가있는 파일을 보게됩니다. 이 파일은 분리되어 제거해야합니다. 파일을 마우스 오른쪽 버튼으로 클릭하면 제거 옵션이 있어야합니다.
이제 솔루션을 구축하면 경고가 사라집니다.
Show all files
여기서 핵심입니다.
가장 많이 득표 한 답변은 현재로서는 완벽하지만 더 큰 폭발을 다루는 사람들은이 대안 답변의 이점을 누릴 수 있습니다. 파일 수준에서 유사한 수정 사항을 설명합니다.
경고는 다음과 같은 요소로 인해 발생합니다.
<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를 평가할 수 없기 때문에 경고를 발생시킵니다.
PublishFile
PublishState "Exclude"가있는 경우 경고에 언급 된 각 배포 항목에 대한 전체 요소를 제거 할 수 있습니다 . PublishState "Exclude"를 사용하여 모든 요소를 기계적으로 제거하지 마십시오. 이에 대한 경고가없는 경우 파일이 게시시 사용 가능할 수 있으며 게시 될 수 있습니다. 이는 원치 않는 제품 변경이 될 수 있습니다. 경고를 제거하십시오.