Неправильная ссылка Nuget на System.ComponentModel.Composition.Компонентмодель.Композиция при добавлении System.Runtine 4.3.1

#c# #azure #dll #nuget

#c# #azure #dll #nuget

Вопрос:

Я использую Visual Studio Professional 2019, и при добавлении пакета nuget для System.Runtime 4.3.1 он автоматически добавляет ссылку на System.ComponentModel.Композиция . Хотя сборка прошла успешно на моем локальном компьютере, она завершается сбоем на виртуальной машине Azure при запуске конвейера. На виртуальной машине Azure не установлена Visual Studio, она использует MSBuild. Я искал его и прочитал аналогичный ответ на вопрос, но это не помогло. Любая помощь будет высоко оценена.

Комментарии:

1. И в чем же здесь проблема? Ничто не мешает вам установить System.ComponentModel.Composition его с помощью Nuget

2. пожалуйста, добавьте nuget restore команду в свой конвейер. И поскольку проблема связана с Azure, вам следует добавить тег azure.

3. @PavelAnikhouski Мой вопрос звучит так: «Почему во имя бога». ComponentModel. Композиция» добавляется, когда я добавляю пакет nuget System.Runtime?

4. @PerryQian-MSFT Ваш комментарий заслуживает одобрения, другой — нет. Спасибо. Я добавил тег azure. команда восстановления nuget уже находится в конвейере.

Ответ №1:

Хотя я не совсем уверен, зачем System.Runtime нужно добавлять ссылку System.ComponentModel.Composition , но я могу подтвердить из своего тестирования, что при установке System.Runtime nuget он добавляет ссылку System.ComponentModel.Composition из GAC, но не добавляет этот nuget. Следовательно, он выходит из строя на компьютере, где его нет в GAC. Итак, чтобы исправить вашу ошибку, просто добавьте nuget System.ComponentModel.Composition явно в требуемый проект.