0

Некоторые частные пакеты Nuget в моем решении ссылаются на их локальные DLL в Debug и упоминаются как пакет nuget в Release.Обновление пакетов обновлений Nuget Reference conditional

Это мой Web.csproj:

<Choose> 
<When Condition="'$(Configuration)' == 'Release'"> 
    <Reference Include="CustomPackage, Version=1.0.0.0, Culture=neutral"> 
    <HintPath>..\packages\CustomPackage.1.0.0\lib\net461\CustomPackage.dll</HintPath> 
    <Private>True</Private> 
    </Reference> 
</When> 
<Otherwise> 
    <Reference Include="CustomPackage, Version=1.0.0.0, Culture=neutral"> 
    <HintPath >..\..\CustomPackage\bin\$(Configuration)\CustomPackage.dll</HintPath> 
    <Private>True</Private> 
    </Reference> 
</Otherwise> 
</Choose> 

После CustomPackage будет опубликована и обновлена ​​до 1.0.1, я обновлю этот пакет в NuGet Package Manager для моего решения.

Проблема: Nuget затем полностью удалит первую ссылку и поместит обновленную ссылку за пределы условного условия во время обновления.

Я нашел Nuget Reference Switcher, который, как я думал, будет моим решением, хочет, чтобы вы добавили все проекты, которые вы указали локально в Решение, которое не работает с моей командой, и нам нужно ссылаться только на DLL. A GitHub Issue был подан другим лицам с той же проблемой.

Есть ли какой-либо другой подход, кроме этого условный?

Могу ли я применить преобразование к моему Web.csproj с Web.Debug.csproj во время сборки?

Спасибо, Алекс

ответ

0

Когда мы модернизируем пакет NuGet для нашего проекта, он будет выполнять удалить и переустановить процесс, который будет изменять наш файл .csproj, чтобы добавить ссылки в наш проект.

И мы не могли изменить наш .csproj-файл во время сборки, потому что процесс сборки должен строить ваш проект на основе настроек в .csproj.

Все описанные выше процессы являются действиями по умолчанию для nuget и проекта в Visual Studio.

 Смежные вопросы

  • Нет связанных вопросов^_^