Почему проект модульного тестирования должен устанавливать пакеты NuGet для тестируемых классовC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Почему проект модульного тестирования должен устанавливать пакеты NuGet для тестируемых классов

Сообщение Anonymous »

У меня есть проект (ProjectA), который использует Microsoft.Graph и другие элементы, связанные с этим пакетом. У меня есть еще один проект (ProjectB), в котором используются методы модульного тестирования в ProjectA. Когда я создаю объект из ProjectA в ProjectB, он жалуется, что не может загрузить файл или сборку, на которую ссылается ProjectA.

Конструктор ProjectA:

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

public GraphApi(string tenantId, string clientId, string clientSecret)
{
string[] scopes = new[] { "https://graph.microsoft.com/.default" };
// https://learn.microsoft.com/dotnet/api/azure.identity.clientsecretcredential
var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
graphClient = new GraphServiceClient(clientSecretCredential, scopes);
}
Метод тестирования ProjectB:

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

[TestMethod]
public void GetGroups()
{
GraphApi graphApi = new GraphApi(TenantId, ClientId, Secret);
}
Ошибка, которая появляется в конструкторе ProjectA в строке var clientSecretCredential =... при запуске модульного теста:

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

System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.Identity.Client, Version=4.57.0.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae' or one of its dependencies. The system cannot find the file specified.'

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

Microsoft.Identity.Client
упоминается в ProjectA и имеет ту же версию, что указана в сообщении об ошибке: 4.57.0.0.
Изображение

Мне интересно, является ли это своего рода ссылочным адом в ProjectA, который вызывает это вместо того, чтобы мне нужно было установить пакеты, на которые он жалуется в ProjectB.
Почему это происходит и как я могу устранить неполадки?
P.S. Недавно я перенес все свои проекты с диска c на новый дополнительный диск с буквой s. Я думаю, возможно, это как-то связано с этим, поскольку я, кажется, помню, что это началось примерно в то время, когда я перенес проекты.

Подробнее здесь: https://stackoverflow.com/questions/774 ... s-it-is-te
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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