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

Мне не удалось найти какую-либо документацию по этому поводу, но работает ли генерация перенаправления привязки nuget только для сборок со строгими именами? У меня есть несколько внутренних библиотек, которые у нас есть на нашем собственном сервере nuget, и все они имеют слабые имена, но при каждой публикации в nuget для dll генерируется другой номер версии.

Из-за другого номера версии зависимость, которая ссылается на эту сборку, не сможет загрузить сборку с номером версии, отличным от того, с которым она была скомпилирована во время выполнения. Итак, сейчас мы находимся в ситуации, когда, если мы публикуем новый nuget в общей библиотеке, нам приходится вручную публиковать все пакеты nuget, которые ссылаются на эту общую библиотеку (даже если изменение обратно совместимо). Мы находимся в процессе перехода на строгие имена для всего, но в настоящее время из-за устаревших решений ничего не имеет строгих имен, поэтому на данный момент было бы неплохо найти обходной путь.


person BrandonAGr    schedule 28.04.2014    source источник


Ответы (1)


Я не думаю, что NuGet поддерживает добавление перенаправления привязки к сборкам со слабыми именами. Документ с его описанием: http://blog.davidebbo.com/2011/01/nuget-versioning-part-3-unification-via.html.

Обходным путем может быть добавление install.ps1 к пакетам. Таким образом, во время обновления/установки пакета install.ps1 добавит/изменит перенаправления привязки в конфигах.

person Dan Liu    schedule 05.05.2014
comment
На самом деле в .Net нет такого понятия, как перенаправление привязки для сборок без строгой подписи, поэтому даже с помощью скрипта вы не можете его сделать. С другой стороны, не должно быть проблем, если последняя версия уже загружена, поскольку .Net игнорирует сравнение версий, если оно не подписано. В остальном полезный пост. - person Alexei Levenkov; 15.09.2016