Данный проект ссылается на пакеты NuGet, отсутству...
Creado el: 28 de agosto de 2025
Respondido usando GPT-5 Thinking por Chat01
Creado el: 28 de agosto de 2025
Respondido usando GPT-5 Thinking por Chat01
Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их. Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: packages\inteltbb.redist.win.2022.2.0.503\build\native\inteltbb.redist.win.targets. я получаю эту ошибку в своей DLL у меня раньше действительно в ней были установлены ну гет пакеты, но теперь я удалил их, удалил папку с пакетами, почистил все конфигурационные файлы, и эта ошибка всё равно возникает, при том что моя DLL максимально простая и должна собираться без проблем, расскажи в чём может быть проблема, при том, что файл TEST_FUNC.vcxproj очищен и там ничего нет или я его удалял, я не понимаю почему пишет что ошибка в нём хотя этот файл у меня чист, сами пакеты нугет очищены - как удалить все остаточные данные воспоминания в проекте или какие-то ссылки внешние зависимости на эти нугет пакеты или может быть на эти нугет пакет ссылается не сама DLL а проект который её использует хотя я получаю эту ошибку когда пытаюсь собрать DLL изолированно
Проблема почти наверняка не в «кэше NuGet» как таковом, а в том, что где-то ещё осталась MSBuild-ссылка на .targets/.props из пакета inteltbb.redist.win
. Когда такой пакет ставится (особенно в проектах C++ с packages.config
), NuGet вставляет в проект:
<Import Project="...\inteltbb.redist.win.targets" .../>
и/или .props
EnsureNuGetPackageBuildImports
, который специально падает с ошибкой, если нужный файл не найден — с тем самым текстом и ссылкой LinkID=322105
.Даже если вы удалили сам пакет и папку packages\…
, любая оставшаяся Import
/EnsureNuGetPackageBuildImports
будет продолжать ронять сборку.
Вот что чаще всего оказывается источником «призрачной» ссылки (и почему может упоминаться TEST_FUNC.vcxproj
, хотя он «чистый» или удалён):
Import
/EnsureNuGetPackageBuildImports
.$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props
— глобальный файл свойств, который подхватывается каждым C++-проектом. Многие случайно добавляют туда пути через Property Manager, и тогда импорт inteltbb
приезжает в любой проект.TEST_FUNC
), который всё ещё включён в .sln
.obj\
: *.nuget.g.props
/ *.nuget.g.targets
могут подтягиваться, если в проекте осталось packages.config
или <PackageReference …>
.Сделайте шаги именно в таком порядке:
Полный поиск от корня репозитория — найдите, где именно всплывает inteltbb
:
powershellGet-ChildItem -Recurse -Include *.sln,*.vcxproj,*.props,*.targets,packages.config,Directory.Build.* | Select-String -Pattern 'inteltbb', 'EnsureNuGetPackageBuildImports'
findstr /S /N /I "inteltbb redist EnsureNuGetPackageBuildImports" *.sln *.vcxproj *.props *.targets packages.config Directory.Build.*
Всё, что найдено, — кандидаты на удаление ссылок.
Откройте найденные файлы и удалите остатки импорта:
xml<Import Project="packages\inteltbb.redist.win.2022.2.0.503\build\native\inteltbb.redist.win.targets" Condition="Exists('...')" /> <Import Project="packages\inteltbb.redist.win.2022.2.0.503\build\native\inteltbb.redist.win.props" Condition="Exists('...')" />
xml<Target Name="EnsureNuGetPackageBuildImports" ...> <PropertyGroup> <ErrorText>...</ErrorText> </PropertyGroup> <Error Condition="!Exists('packages\inteltbb.redist.win.2022.2.0.503\build\native\inteltbb.redist.win.targets')" Text="$(ErrorText)" /> </Target>
Если у вас PackageReference, удалите ещё и
xml<PackageReference Include="inteltbb.redist.win" Version="..." />
Если packages.config — убедитесь, что там нет записи про inteltbb.redist.win
.
Проверьте глобальный user-props (очень частая причина!):
x64
и x86
по необходимости):
Если внутри есть импорт/пути кtext%LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props %LOCALAPPDATA%\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x86.user.props
packages\inteltbb…
— удалите.Microsoft.Cpp.<Platform>.user
и уберите лишние Property Sheets/пути.Проверьте решение (.sln):
TEST_FUNC.vcxproj
действительно исключён из .sln
(или удалён блок Project(...)
для него). Иногда VS всё ещё пытается его строить по зависимостям.Жёсткая очистка артефактов:
packages\
(если есть на уровне решения), .vs\
, все bin\
и obj\
у проектов.textnuget locals all -clear :: или dotnet nuget locals all --clear
Проверка через лог MSBuild (если ошибка всё ещё появляется):
msbuild YourDll.vcxproj /t:Rebuild /v:diag > build.log
Потом:
findstr /I /N "inteltbb.redist.win.targets" build.log
По строкам рядом будет видно какой именно файл и какой импорт пытаются подцепить.msbuild YourDll.vcxproj /pp:pp.xml
Откройте pp.xml
и поищите inteltbb
— это покажет откуда именно импорт приезжает (какой .props/.targets).TEST_FUNC.vcxproj
Скорее всего:
.sln
и содержит «ядовитый» EnsureNuGetPackageBuildImports
;Directory.Build.props
/user.props и потому попадает в билд даже при сборке другой dll;В конкретном проекте, который падает (и в любом, что нашлось поиском), временно удалите/закомментируйте:
Import
на inteltbb.*.props/targets
;Target Name="EnsureNuGetPackageBuildImports"
.После этого сборка пройдёт, даже если пакетов нет.
Если хотите, скиньте сюда вывод из шага 6 (несколько строк вокруг найденного пути) — по нему я скажу, из какого файла это точно тянется и что именно удалить.