每当我们在主要解决方案中进行构建时,我们都会收到以下警告:
无法为项目应用发布属性 “microsoft.visualstudio.qualitytools.unittestframework”。
以前有人见过这样的事吗?有想法该怎么解决这个吗?它发生在我们所有的开发人员机器上,也发生在我们的TFS构建服务器上。但是,它仅出现在调试模式下。
答案 0 :(得分:151)
问题似乎与ClickOnce有关。导航到项目,右键单击它并单击属性。转到“发布”选项卡,然后单击“应用程序文件”。选中“显示所有文件”复选框,然后滚动文件列表。最终,您会遇到一个上面有黄色感叹号的文件。此文件是孤立的,需要删除。右键单击该文件,应该有一个删除选项。
现在构建解决方案并且警告应该消失。
答案 1 :(得分: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,显然这是不必要的指令,但是由于发布过程无法评估文件的身份,因此这也会引起警告。
您可以删除警告中提到的每个部署项目的整个PublishFile
元素,只要它具有PublishState“ Exclude”。不要用PublishState“ Exclude”来机械地删除每个元素,因为如果没有关于它的警告,则该文件可能在发布时可用,并且最终可能会发布-只要您只想这样做,那将是不希望的产品更改。摆脱警告。