В проекте у меня есть следующая схема ссылок:
References
+- AssemblyA 6.7.6643.0
+- AssemblyB
| \- AssemblyA 7.0.0.0
\- AssemblyC
\- AssemblyA 7.0.0.0
AssemblyB и AssemblyC являются ссылками NuGet, для которых нет понижения версии.Из-за обстоятельств, не зависящих от меня, обновление AssemblyA невозможно.Но я получаю это предупреждение:
Обнаружены конфликты между различными версиями "AssemblyA", которые не удалось разрешить.Эти конфликты ссылок перечислены в журнале сборки, когда подробность журнала установлена на подробное описание.
Итак, я сделал именно это, и вот вывод:
Был конфликтмежду «AssemblyA, Version = 6.7.6643.0» и «AssemblyA, Version = 7.0.0.0».«AssemblyA, Version = 6.7.6643.0» был выбран, поскольку он был основным, а «AssemblyA, Version = 7.0.0.0» - нет.Ссылки, которые зависят от "AssemblyA, Version = 6.7.6643.0" [AssemblyA.dll].AssemblyA.dll Элемент файла проекта, который содержит ссылку "AssemblyA.dll".AssemblyA, Version = 6.7.6643.0 Ссылки, которые зависят от "AssemblyA, Version = 7.0.0.0" [].AssemblyB.dll Элемент файла проекта, который содержит ссылку "AssemblyB.dll".AssemblyB, Version = 7.0.0.0 AssemblyC.dll Элемент файла проекта, который содержит ссылку "AssemblyC.dll".AssemblyC, версия = 9.0.0.0
Она выбрала ту версию, которую хотела, но я все равно получаю предупреждение в Visual Studio.Поэтому я обновил перенаправление привязки app.config в надежде, что оно избавится от предупреждения:
<dependentAssembly>
<assemblyIdentity name="AssemblyA" publicKeyToken="..." culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-7.0.0.0" newVersion="6.7.6643.0" />
</dependentAssembly>
Но предупреждение сохраняется.Я подтвердил, что, если я обновлю AssemblyA до 7.0.0.0, это заставит предупреждение исчезнуть.Но, как я уже говорил ранее, по другим причинам, не зависящим от меня, я не могу обновить эту сборку прямо сейчас.
Есть ли способ подавить это предупреждение только для этого конкретного экземпляра?
Спасибо