Во время автоматической сборки мой пакет nuget должен быть не зависимым от фреймворка, однако я продолжаю обнаруживать, что добавленный пакет nuget неправильно добавляет HintPath.Пакет NuGet добавляет неправильный путь подсказки
В моей nuspec я определил файлы, которые являются частью пакета:
<files>
<file src="lib\xyz.dll" target="lib\xyz.dll" />
<file src="lib\xyz.xml" target="lib\xyz.xml" />
</files>
Однако всякий раз, когда я добавить пакет в мой проект/решение, это неправильно добавляет путь подсказку с указанием:
<Reference Include="xyz, Version=11.0.0.0, Culture=neutral, PublicKeyToken=4a3c0a4c668b48b4">
<HintPath>..\packages\xyz.11.0.0.0\xyz.dll</HintPath>
<Private>True</Private>
</Reference>
Это приводит к тому, что сервер автоматической сборки не находит сборку и не может ее построить. Я могу вручную исправить подсказку, но скорее не буду.
Я взглянул на это сообщение (Failed to add NuGet package), но я не считаю это актуальным. Этот пост (NuGet package install uses specific assembly version in csproj files), казалось, имел в виду ту же проблему, но без ответа. У кого-нибудь есть мысли?
Отлично, позвольте мне попробовать, и я думаю, что это будет победитель –
Я помещаю файл целей в пакет NuGet? Или я помещаю его в проект потребления? –
Поместите его в пакет NuGet в каталоге сборки. Затем он будет добавлен в проект, когда будет установлен пакет NuGet. Существуют существующие пакеты NuGet, которые используют пользовательские целевые объекты MSBuild, такие как Xamarin.Forms и Microsoft.Bcl.Build. Единственное, что улавливает людей, это то, что файл .targets должен иметь то же имя, что и идентификатор пакета. –