Исправление предупреждений сборки для C#/.NET #
В этой статье описаны некоторые рецепты по устранению предупреждений сборки, возникающих в студенческих проектах.
Устранение предупреждения в библиотеках классов для тестов #
Если у вас есть библиотеки, используемые только в тестах, то вы можете при запуске тестов сталкиваться с предупреждением вида:
.../Microsoft.TestPlatform.targets(48,5): warning В .../tests/TestsLibrary/bin/Debug/net10.0/TestsLibrary.dll нет доступных тестов. Убедитесь, что средства обнаружения и выполнения тестов зарегистрированы, а также проверьте правильность параметров платформы и версии платформы, после чего повторите попытку.
Здесь проект tests/TestsLibrary/TestsLibrary.csproj считается проектом с тестами, хотя на деле это библиотека классов для тестов.
Для исправления предупреждения вам нужно:
- Убрать зависимость
TestsLibrary.csprojотxunit.runner.visualstudio - Добавить свойство
<IsTestProject>false</IsTestProject>
Исправленный файл TestsLibrary.csproj может выглядеть примерно так:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>false</IsTestProject>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.4" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="xunit" Version="2.9.3" />
</ItemGroup>
<!-- ... -->
</Project>