アイテムXのパブリッシュプロパティを適用できません


89

メインソリューションでビルドを行うたびに、次の警告が表示されます。

アイテム "microsoft.visualstudio.qualitytools.unittestframework"の発行プロパティを適用できません。

誰かがこれまでにこのようなものを見たことがありますか?これを修正する方法に関するアイデアはありますか?これは、すべての開発者マシンで発生し、TFSビルドサーバーでも発生します。ただし、デバッグモードでのみ表示されます。

回答:


164

問題はClickOnceに関連しているようです。プロジェクトに移動し、プロジェクトを右クリックして、プロパティをクリックします。[公開]タブに移動し、[アプリケーションファイル]をクリックします。[すべてのファイルを表示]チェックボックスをオンにして、ファイルのリストをスクロールします。最終的に、黄色の感嘆符が付いたファイルに出くわします。このファイルは孤立しており、削除する必要があります。ファイルを右クリックすると、削除オプションが表示されます。

ソリューションをビルドすると、警告は表示されなくなります。


13
それは私がその問題をググググしてこの答えを見つけた2倍です。最終的に私は学びます。:p
Nick Spreitzer、2014年

4
Show all filesここでの鍵です。
MEMark

4
@NickSpreitzer私にとって3回目。今回は自分のコメントにも驚きました。
MEMark

'PublishFile'セクションを処理してcsprojファイルを更新することもできます。もちろん、これは非常に慎重に行う必要があります。
ジェローム

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の「除外」に注意してください。この要素は「架空のDLLを公開しないでください」と述べています。このようなDLLが発行時にどこにもない場合、これは明らかに不要な命令ですが、発行プロセスはファイルのIDを評価できないため、警告も引き起こします。

PublishFilePublishStateが "Exclude"である限り、警告で言及されている各展開項目の要素全体を削除できます。PublishStateが "Exclude"のすべての要素を機械的に削除しないでください。警告がなかった場合、ファイルはおそらく発行時に利用可能であり、結果的に発行される可能性があります。警告を取り除きます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.