2

Загрузила проект с github.com. В этом проекте есть reference на сборку Fasm.Net. Но Visual Studio отображает желтый треугольник возле этой зависимости. Естественно, не могу открыть Object Browser для этой сборки. Ещё компилятор ругается на то, что нужные для работы приложения типы (и пространства имён) не определены. Попытка загрузить эту сборку через NuGet выдаётся сообщение Package 'Fasm.Net.1.70.3.2' already exists in project 'MemorySharp'. Установила версию проекта 4.7.2 - проект так и не увидел сборку. На GitHub Fasm.Net не нашла. Нашла сайт разработчиков, но там закрыта регистрация. Как определить почему не подгружается сборка с зависимости и решить эту проблему?

J. Huxley
  • 425

1 Answers1

1

Потому что не должна. Для NuGet-пакетов, добавленных через packages.config, операция восстановления только скачивает файлы, но не обновляет ссылки в проекте. Если путь, в который файлы скачивались у разработчика, совпадет с вашим, то все будет нормально, но из-за разницы в конфигурации он обычно разный, с чем вы и столкнулись. У авторов путь к сборке ..\..\packages\Fasm.NET.1.70.03.2\lib\Fasm.NET.dll, если у вас он скачался, допустим, в packages в каталоге с проектом, ничего не будет работать. Можно удалить ссылку и добавить ее вручную, подложить файл по нужному пути или переустановить пакет через NuGet - смотрите сами, как вам удобнее.

Для решения этой проблемы вообще существует PackageReference, но в .NET Framework проектах по умолчанию он не используется, плюс старые версии MSBuild его не поддерживают, поэтому чаще можно столкнуться с добавлением пакетов именно через config.