У меня есть проект .NET452 - давайте назовем его Consumer.csproj
, который я хочу использовать nuget, назовем его SharedTargets
, который содержал некоторые файлы пользовательских целей (SharedTargets.targets
) из msbuild.
Я использую формат PackageReference
и теперь (по сравнению с тем, что было раньше) пакеты nuget восстанавливаются в общую папку (% userprofile% .nuget \ packages), и я не уверен, что это хорошо Идея ссылаться на это через (не кажется правильным).
Например:
<PackageReference Include="SharedTargets">
<Version>1.0</Version>
</PackageReference>
<Import
Project="$(USERPROFILE)\.nuget\packages\SharedTargets\1.0\SharedTargets.targets"
/>
Также это работает только в VS, при запуске из командной строки (msbuild
) У меня проблема с куриным яйцом:
Убедитесь, что путь в объявлении <Import>
указан правильно, и что
файл существует на диске.
Очевидно, так как мне нужно сначала восстановить nuget, прежде чем я смогу его использовать:)
Итак, вопрос:
- Есть ли более элегантный способ определения пути к пакету nuget внутри файла проекта
- есть ли способ, как сделать msbuild успешным (т.е. восстановить пакеты до импорта
SharedTargets.target
)