Один из зависимых проектов имеет обязательную ссылку на пакет Nest nuget.
Вы вызывали функцию Nest в зависимом проекте? VS не будет копировать сборку зависимого проекта в проект верхнего уровня, если обнаружит, что зависимый проект фактически не вызывает (не требует) сборку в коде.
Почему это происходит? Разве установка пакета Nest в зависимом проекте не должна устранить эту зависимость?
Я не уверен, что причина проблемы с информацией, доступной в вашем вопросе, может быть вызвана многими факторами, а иногдаВерсия VS также повлияет на это ...
Предполагается, что у вас есть проект верхнего уровня A
, и это зависит от проекта B
с использованием Project Reference
.
1.Если оба они нацелены на .net framework
, убедитесь, что они используют один и тот же способ управления пакетами nuget (оба используют packages.config или оба используют PackageReference )
2.If A
- это проект .net framework
, в то время как B
- это проект .net standard
, убедитесь, что A
также использует формат PackageReference
для управления пакетами nuget.
Причина .net standard
(новый формат SDK) использует пакеты PackageReference
, если A
использует Packages.config
и ссылку B
, система сборки будет смущена различными форматами nuget в процессе сборки,И мы не найдем Nest.dll
, скопированный из выходной папки B's
в выходную папку A's
.
В этом случае попробуйте добавить <RestoreProjectStyle>PackageReference</RestoreProjectStyle>
в файл проекта верхнего уровня A. (xx. csproj) Это обеспечит возможность восстановления как A, так и B в стиле PackageReference
.
3. Если A
равно .net framework
с packageReference
, а B
равно .net framework
с Packages.config
, щелкните правой кнопкой мыши packages.config
и выберите кнопку Migrate Package.config to PackageReference
. Также вы можете получить некоторую помощь из этого документа .
4.Если ваш проект верхнего уровня - ядро .net, а проект B нацелен на стандарт .net, в VS2017 победа nest.dllЕсли вы не скопированы в выходную папку A, попробуйте добавить <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
в ваш A.csproj, чтобы решить эту проблему. Подобную проблему см. здесь . (И VS2019 16.3.8 исправил эту проблему, эта проблема в основном возникает в VS2017)
И это поведение также зависит от версии VS, если вы используете VS2017, пожалуйста, обновите его до последней 15.9.17
длялучший опыт. Если вы используете VS2019, обновите его до 16.3.8.
Надеюсь, это поможет:)