Когда я делал сборку, в Visual Studio 2017 обычно отображались такие ошибки:
Error CS0006 Metadata file 'C:\src\ProjectDir\MyApp\bin\x64\Debug\Inspection.exe' could not be found MyApp C:\src\ProjectDir\MyApp\CSC 1 Active
Но иногда такая ошибка появляется на пару секунд, а затем исчезает и переключается обратно на сообщение выше:
Error CS1503 Argument 1: cannot convert from 'MyApp.Model.Entities.Asset' to 'MyApp.Model.Model.Entities.Inspection' MyApp C:\src\ProjectDir\MyApp\ViewModels\AssetDetailsViewModel.cs 1453 Active
Итак, я потратил время на устранение первой ошибки, но настоящая проблема оказалась из-за второй ошибки. Сначала мне пришлось удалить все каталоги / bin и / obj, затем я также удалил файлы .suo, как указано выше. Это позволило мне сузить проблему до проблемы интерфейса.
В моем интерфейсе у меня было это:
Task<IList<Defect>> LoadDefects(Asset asset);
Но в моей реальной реализации у меня был такой код:
public virtual async Task<IList<Defect>> LoadDefects(Inspection inspection)
{
var results ...
// ....
return results;
}
Сборка завершена успешно после того, как я обновил интерфейс до этого:
Task<IList<Defect>> LoadDefects(Inspection inspection);
Таким образом, похоже, что кэширование в VS заставляло его отображать ошибку CS0006, когда настоящей проблемой была ошибка CS1503.