Обнаружены конфликты между различными версиями «System.Runtime.CompilerServices.Unsafe», которые не удалось разрешить.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Обнаружены конфликты между различными версиями «System.Runtime.CompilerServices.Unsafe», которые не удалось разрешить.

Сообщение Anonymous »

Это может показаться одним из многих подобных вопросов, но я не смог найти решения в других вопросах.
Я перейду сразу к двоичному журналу:
Изображение

А вот соответствующее поддерево в задаче ResolveAssemblyReference:

Код: Выделить всё

There was a conflict between "System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" and "System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
"System.Runtime.CompilerServices.Unsafe, Version = 4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" was chosen because it was primary and "System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" was not.
References which depend on "System.Runtime.CompilerServices.Unsafe, Version = 4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  [C:\Users\mkharitonov\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.2\ref\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll].
C:\Users\mkharitonov\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.2\ref\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
Project file item includes which caused reference "C:\Users\mkharitonov\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.2\ref\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll".
C:\Users\mkharitonov\.nuget\packages\system.runtime.compilerservices.unsafe\4.5.2\ref\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
C:\Users\mkharitonov\.nuget\packages\microsoft.extensions.primitives\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll
Project file item includes which caused reference "C:\Users\mkharitonov\.nuget\packages\microsoft.extensions.primitives\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll".
C:\Users\mkharitonov\.nuget\packages\microsoft.extensions.primitives\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll
C:\Users\mkharitonov\.nuget\packages\microsoft.extensions.caching.abstractions\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll
xyz.Common
C:\xyz\tip\bin.link\xyz.Web.Framework.dll
C:\xyz\tip\bin.link\xyz.Web.Platform.dll
AccrualEngine
DataProcessor
xyz.BusinessAPI.Core
xyz.DataManager
DataSvc
xyz.Data
xyz.HtmlPlatform
xyz.BusinessAPI
DeviceServices
GrossPayEngineDataProvider
MultiApprovalProcessor
Payroll.Core.Data
PunchStatusReconciliationEngine
RateEngine2
RateEngineDataProviderServer
RuleEngine
RuleEngineDataProvider
RuleEngineHelper
SharpTop.Common.Security.MemberSession
SharpTop.DB.DL
WorkTimeCalculationEngine
C:\Users\mkharitonov\.nuget\packages\microsoft.extensions.caching.memory\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll
C:\Users\mkharitonov\.nuget\packages\microsoft.extensions.options\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Options.dll
C:\Users\mkharitonov\.nuget\packages\system.memory\4.5.3\lib\netstandard2.0\System.Memory.dll
Project file item includes which caused reference "C:\Users\mkharitonov\.nuget\packages\system.memory\4.5.3\lib\netstandard2.0\System.Memory.dll".
C:\Users\mkharitonov\.nuget\packages\system.memory\4.5.3\lib\netstandard2.0\System.Memory.dll
C:\Users\mkharitonov\.nuget\packages\system.diagnostics.diagnosticsource\4.6.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
C:\Users\mkharitonov\.nuget\packages\microsoft.applicationinsights\2.10.0\lib\net46\Microsoft.ApplicationInsights.dll
C:\Users\mkharitonov\.nuget\packages\xyz.engine.core.common\1.0.20260.1\lib\netstandard2.0\xyz.Engine.Core.Common.dll
xyz.Common
C:\xyz\tip\bin.link\xyz.Web.Framework.dll
C:\xyz\tip\bin.link\xyz.Web.Platform.dll
AccrualEngine
DataProcessor
xyz.BusinessAPI.Core
xyz.DataManager
DataSvc
xyz.Data
xyz.HtmlPlatform
xyz.BusinessAPI
DeviceServices
GrossPayEngineDataProvider
MultiApprovalProcessor
Payroll.Core.Data
PunchStatusReconciliationEngine
RateEngine2
RateEngineDataProviderServer
RuleEngine
RuleEngineDataProvider
RuleEngineHelper
SharpTop.Common.Security.MemberSession
SharpTop.DB.DL
WorkTimeCalculationEngine
C:\xyz\tip\Tools\MSBuild\..\..\bin.link\System.Threading.Tasks.Extensions.dll
Project file item includes which caused reference "C:\xyz\tip\Tools\MSBuild\..\..\bin.link\System.Threading.Tasks.Extensions.dll".
GrossPayEngineDataProvider
C:\xyz\tip\Tools\MSBuild\..\..\bin.link\Pipelines.Sockets.Unofficial.dll
Project file item includes which caused reference "C:\xyz\tip\Tools\MSBuild\..\..\bin.link\Pipelines.Sockets.Unofficial.dll".
GrossPayEngineDataProvider
References which depend on "System.Runtime.CompilerServices.Unsafe, Version = 4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  [C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\System.Runtime.CompilerServices.Unsafe.dll].
Из чего я делаю вывод, что существуют две версии System.Runtime.CompilerServices.Unsafe.dll:
  • Пакет NuGet — C:\Users\mkharitonov.nuget\packages\system.runtime.compilerservices.unsafe\4.5.2\ref\netstandard2.0\System.Runtime.CompilerServices.Unsafe.dll
  • C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\System.Runtime.CompilerServices.Unsafe.dll
В двоичном журнале очень подробно показано, какие сборки зависят от пакета NuGet, но для второй ссылки ничего не отображается. Что странно, ведь тогда возникает вопрос - почему именно вторая версия рассматривается в первую очередь?
Рассмотренный проект представляет собой всего лишь библиотеку и, следовательно, не имеет файла app.config. . Кроме того, AutoUnify == true, чтобы задача ResolveAssemblyReference автоматически разрешала конфликт до самой высокой версии, по крайней мере, такова моя интерпретация документации.
Итак, , Я озадачен. Я знаю, что предупреждение незначительное и его можно игнорировать, но я хочу понять его природу. В чем причина, если очевидно, что все зависимости зависят от пакета NuGet. Или, возможно, задача не выводит зависимости определенного типа и оставляет мне возможность выяснить, что зависит от C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\System. Runtime.CompilerServices.Unsafe.dll ?
Для справки:
  • ассемблерная версия Пакет NuGet — 4.0.4.1, а пакет второй версии — 4.0.6.0, поэтому не должны ли все они разрешаться до самой высокой версии, то есть второй версии?
  • Ни один из моих кодов не содержит прямых ссылок в System.Runtime.CompilerServices.Unsafe, поэтому все зависимости, перечисленные в задаче ResolveAssemblyReference, должны быть транзитивными.
  • Я попробовал добавить app.config файл в рассматриваемый проект с перенаправлениями привязки, хотя в этом не должно быть необходимости из-за наличия свойства AutoGenerateBindingRedirects. Как я и ожидал - не помогло.
Как определить, что происходит и как это исправить?

Подробнее здесь: https://stackoverflow.com/questions/644 ... services-u
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»