Не удалось загрузить файл или сборку «System.Diagnostics.DiagnosticSource», версия = 6.0.0.0. Система не может найти указанный файл

Справочная информация: - Мой проект представляет собой библиотеку классов с целевой платформой .NET 4.8 и в моем классе установлен nuget Azure.Storage.Blobs (последняя стабильная версия 12.21.1).

Я столкнулся с проблемой с dll пакета nuget "System.Diagnostics.DiagnosticSource". В моих журналах ошибок версия dll указана как 6.0.0.0, хотя Azure.Core использует версию 6.0.0.1. Я проверил packages.config, csproj, app.config (также с привязкой Redirect), и все они относятся к одной и той же версии пакета, то есть 6.0.0.1.

Я включил журналы сборки, и они имеют следующее:


\`The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from:  C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\clr.dll
Running under executable  C:\\Windows\\SysWOW64\\dllhost.exe
\--- A detailed error log follows.

=== Pre-bind state information ===
LOG: DisplayName = System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
(Fully-specified)
LOG: Appbase = file:///C:/Windows/SysWOW64/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = dllhost.exe
Calling assembly : Azure.Storage.Blobs, Version=12.21.1.0, Culture=neutral, PublicKeyToken=92742159e12e44c8.
=

LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: No application configuration file found.
LOG: Using host configuration file:
LOG: Using machine configuration file from C:\\Windows\\Microsoft.NET\\Framework\\v4.0.30319\\config\\machine.config.
LOG: Post-policy reference: System.Diagnostics.DiagnosticSource, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
LOG: GAC Lookup was unsuccessful.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/System.Diagnostics.DiagnosticSource.DLL.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/System.Diagnostics.DiagnosticSource/System.Diagnostics.DiagnosticSource.DLL.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/System.Diagnostics.DiagnosticSource.EXE.
LOG: Attempting download of new URL file:///C:/Windows/SysWOW64/System.Diagnostics.DiagnosticSource/System.Diagnostics.DiagnosticSource.EXE.
LOG: Attempting download of new URL file:///C:/Users/agtoluser/Desktop/AzureDLL/R71/System.Diagnostics.DiagnosticSource.DLL.
LOG: Assembly download was successful. Attempting setup of file: C:\\Users\\agtoluser\\Desktop\\AzureDLL\\R71\\System.Diagnostics.DiagnosticSource.dll
LOG: Entering run-from-source setup phase.
LOG: Assembly Name is: System.Diagnostics.DiagnosticSource, Version=6.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
WRN: Comparing the assembly name resulted in the mismatch: Revision Number
ERR: The assembly reference did not match the assembly definition found.
ERR: Run-from-source setup phase failed with hr = 0x80131040.
LOG: Attempting download of new URL file:///C:/Users/agtoluser/Desktop/AzureDLL/R71/System.Diagnostics.DiagnosticSource/System.Diagnostics.DiagnosticSource.DLL.
LOG: Attempting download of new URL file:///C:/Users/agtoluser/Desktop/AzureDLL/R71/System.Diagnostics.DiagnosticSource.EXE.
LOG: Attempting download of new URL file:///C:/Users/agtoluser/Desktop/AzureDLL/R71/System.Diagnostics.DiagnosticSource/System.Diagnostics.DiagnosticSource.EXE.
LOG: All probing URLs attempted and failed.

\*\*\* Assembly Binder Log Entry  (8/1/2024 @ 2:57:53 PM) \*\*\*

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.\`

Когда я понижаю версию своего пакета NuGet с 6.0.0.1 до 6.0.0.0, я сталкиваюсь с другой ошибкой: «Не удалось загрузить файл или сборку «System.Diagnostics.DiagnosticSource, Version=4.0.4.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51». "

Попытка переключиться с версии 6.0.0.0 на 4.0.4.0 приводит к проблеме совместимости с Azure.Core и Azure.Storage.Blobs, которые не поддерживают System.Diagnostics.DiagnosticSource, Version=4.0.4.0. Несмотря на постоянные ссылки на версию 6.0.0.1 как в моем packages.config, так и в app.config моей новой DLL, ошибка сохраняется.

Был аналогичный вопрос о stackoverflow, я также попытался использовать его решение, которое удалило xmlns из тега сборкиBinding в app.config. Ранее: Сейчас:

Но все равно ошибка появляется. Пожалуйста, предложите какой-нибудь выход.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
56
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы ссылаетесь на библиотеку, которая ссылается на .NET6, ваш проект создан с использованием .NET Framework 4.8, и это несовместимые версии.

Вы ограничены только библиотеками и их версиями, совместимыми с версией вашей платформы.

Но на официальном сайте nuget.org в разделе Framework указано, что Azure.Storage.Blobs совместим с .net framework 4.8: nuget.org/packages/Azure.Storage.Blobs/…

AKCoder 01.08.2024 18:34

@user26601038 user26601038 Это неправильно. Вам необходимо настроить свое приложение на чистый стандарт 2.0, если вы хотите ссылаться на библиотеки net6.

Michał Turczyn 01.08.2024 19:33
Ответ принят как подходящий

Я переместил используемые методы Azure из nuget Azure.Storage.Blobs в другой проект DLL (.NET Framework 4.8). Я подписал эту DLL, т. е. дал ей строгое имя. Это решило мою проблему.

Другие вопросы по теме

Похожие вопросы

Зачем использовать структуру для хранения констант, а не статический класс?
Невозможно получить доступ к наблюдаемому свойству в модели представления из соответствующего файла .xaml представления — .NET MAUI MVVM
Устойчивые функции Azure не вызываются при использовании с триггером Q с использованием управляемого удостоверения
Как я могу преобразовать этот SQL-запрос в linq, когда у меня есть подзапрос, группировка и предложение?
Проблема развертывания Blazor WASM Core в Azure
Преобразование оператора foreach в оператор выбора
Что происходит, когда несколько задач C# запускаются после завершения другой задачи?
ASP .NET Core — расширение @Html.EditorFor для добавления <span>
Netwonsoft JsonConvert.Deserialization выдает исключение JsonSerializationException: «Ошибка преобразования значения «Имя моего пользовательского объекта» в тип «System.Type»
Как обеспечить автоматическое масштабирование для CollectionView в объекте Popup из CommunityToolkit.Maui после его заполнения с помощью события нажатия кнопки на платформе Windows?