0

.NET Framework 4.6.1 웹 API 2 프로젝트에 .NET 표준 라이브러리를 추가 한 후 테스트 탐색기에 테스트가 표시되지 않습니다. . (MSTest를 사용 중입니다.).NET Framework 프로젝트에 .NET 표준 라이브러리를 추가 한 후 테스트 탐색기에 테스트가 나타나지 않음

.NET 표준 라이브러리를 제거하고 추가 할 때마다 웹 설정을 변경하면 테스트가 다시 나타납니다.

내 솔루션으로 구성

  • 프로젝트 A - .NET 4.6.1 웹 API는 .NET 표준 라이브러리를
  • 프로젝트 B 참조 - .NET 4.6.1 단위 테스트 프로젝트를; 참조하는

내가 무슨 짓을 :

  • 추가 .NET 내 webapi 2 프로젝트 (프로젝트 A)
  • 이어 this microsoft article (마지막 단계) 및 표준 LIB는 웹 응용 프로그램
  • 을 자동 바인딩 리디렉션을 활성화
    1. 이것은 메인 web.config와 유닛 테스트 프로젝트의 app.config에 어셈블리 리디렉션이 많이 추가되었습니다. GitHub의 문제에 언급하지만 내 WebAPI 프로젝트가 잘 작동으로 내가 PackageReference를 사용하지 않도록 설정 한

    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

    :

  • this github thread에 따라, 나는 (프로젝트 B) 내 단위 테스트 프로젝트에 다음과 같은 추가했다. 그저 내 단위 테스트가 테스트 탐색기에서 사라져 버렸습니다.

    this question에서 해결책을 시도했지만 도움이되지 않았습니다.

  • 답변

    1

    또한 .NET Standard 라이브러리를 테스트 프로젝트 자체에 추가해야합니다.

    웹 API 프로젝트와 같은 고전적인 프로젝트는 전이 참조를 지원하지 않으므로 새 프로젝트를 테스트 프로젝트에 추가해야합니다. 그런 다음 테스트 프로젝트의 빌드 논리에 .NET 표준 참조가 표시되고 호환성 라이브러리를 추가하고 추가 한 속성으로 인해 바인딩 리디렉션 생성을 수행합니다.

    +0

    감사합니다. 이 문제가 해결되었습니다. –