La respuesta más votada es perfecta tal como está, pero aquellos de nosotros que lidiamos con arrebatos más grandes podemos beneficiarnos de esta respuesta alternativa. Describe una solución análoga a nivel de archivo.
La advertencia es causada por un elemento como este:
<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>
... en el archivo del proyecto (.csproj) que emite la advertencia. Observe el PublishState "Excluir"; este elemento dice "por favor no publique la DLL imaginaria"; Obviamente, esta es una instrucción innecesaria si no hay tal DLL en ningún lugar en el momento de la publicación, pero también está causando la advertencia porque el proceso de publicación no puede evaluar la identidad del archivo.
Puede eliminar todo el PublishFile
elemento para cada elemento de implementación mencionado en las advertencias, siempre que tenga PublishState "Excluir". No elimine mecánicamente todos los elementos con PublishState "Exclude", porque si no hubo ninguna advertencia al respecto, el archivo probablemente esté disponible en el momento de la publicación y podría terminar publicado, lo que sería un cambio de producto no deseado siempre que solo quisiera deshacerse de la advertencia.