Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Tarek Mahmoud Sayed <tarekms@ntdev.microsoft.com>
101 lines
4.8 KiB
XML
101 lines
4.8 KiB
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
|
|
<PropertyGroup>
|
|
<OutputType>Exe</OutputType>
|
|
<TargetFrameworks>$(DefaultTestTargetFrameworks)</TargetFrameworks>
|
|
<ImplicitUsings>enable</ImplicitUsings>
|
|
<Nullable>enable</Nullable>
|
|
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
|
|
|
<IsPackable>false</IsPackable>
|
|
<IsTestProject>true</IsTestProject>
|
|
<RootNamespace>ModelContextProtocol.Tests</RootNamespace>
|
|
<!-- https://github.com/dotnet/sdk/issues/51060 -->
|
|
<NoWarn>$(NoWarn);NU1903;NU1902;MCP9006</NoWarn>
|
|
<!-- Define for conditional TimeProvider support in InMemoryMcpTaskStore -->
|
|
<DefineConstants>$(DefineConstants);MCP_TEST_TIME_PROVIDER</DefineConstants>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(TargetFramework)' == 'net9.0'">
|
|
<!-- For better test coverage, only disable reflection in one of the targets -->
|
|
<JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup Condition="'$(TargetFramework)' == 'net472'">
|
|
<!-- Suppress warning that Microsoft.Extensions.TimeProvider.Testing hasn't been tested with net472 -->
|
|
<SuppressTfmSupportBuildWarnings>true</SuppressTfmSupportBuildWarnings>
|
|
</PropertyGroup>
|
|
|
|
<PropertyGroup>
|
|
<!-- Without this, tests are currently not showing results until all tests complete
|
|
https://xunit.net/docs/getting-started/v3/microsoft-testing-platform
|
|
-->
|
|
<DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>
|
|
</PropertyGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Include="..\Common\**\*.cs" />
|
|
<Compile Include="..\..\src\Common\McpHttpHeaders.cs" Link="McpHttpHeaders.cs" />
|
|
<Compile Include="..\..\src\Common\McpProtocolVersions.cs" Link="McpProtocolVersions.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Compile Include="..\..\src\ModelContextProtocol\Server\DistributedCacheEventIdFormatter.cs" Link="DistributedCacheEventIdFormatter.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(TargetFramework)' == 'net472'">
|
|
<Compile Include="..\..\src\Common\Throw.cs" Link="Throw.cs" />
|
|
<Compile Include="..\..\src\Common\Polyfills\**\*.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="'$(TargetFramework)' != 'net472'">
|
|
<Compile Include="..\..\src\Common\Polyfills\System\IdHelpers.cs" Link="Polyfills\IdHelpers.cs" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<PackageReference Include="coverlet.collector">
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
<PrivateAssets>all</PrivateAssets>
|
|
</PackageReference>
|
|
<PackageReference Include="Microsoft.Extensions.AI" />
|
|
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" />
|
|
<PackageReference Include="Microsoft.Extensions.Caching.Memory" />
|
|
<PackageReference Include="Microsoft.Extensions.Logging" />
|
|
<PackageReference Include="Microsoft.Extensions.Logging.Console" />
|
|
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" />
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" />
|
|
<PackageReference Include="Moq" />
|
|
<PackageReference Include="OpenTelemetry" />
|
|
<PackageReference Include="OpenTelemetry.Exporter.InMemory" />
|
|
<PackageReference Include="Serilog" />
|
|
<PackageReference Include="JsonSchema.Net" />
|
|
<PackageReference Include="xunit.v3" />
|
|
<PackageReference Include="xunit.runner.visualstudio">
|
|
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
|
|
<PrivateAssets>all</PrivateAssets>
|
|
</PackageReference>
|
|
</ItemGroup>
|
|
|
|
<ItemGroup Condition="!$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net10.0'))">
|
|
<PackageReference Include="System.Linq.AsyncEnumerable" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\src\ModelContextProtocol\ModelContextProtocol.csproj" />
|
|
<ProjectReference Include="..\..\src\ModelContextProtocol.Core\ModelContextProtocol.Core.csproj" />
|
|
<ProjectReference Include="..\..\src\ModelContextProtocol.Extensions.Apps\ModelContextProtocol.Extensions.Apps.csproj" />
|
|
<ProjectReference Include="..\..\src\ModelContextProtocol.Extensions.Tasks\ModelContextProtocol.Extensions.Tasks.csproj" />
|
|
<ProjectReference Include="..\ModelContextProtocol.TestServer\ModelContextProtocol.TestServer.csproj" />
|
|
<ProjectReference Include="..\..\samples\TestServerWithHosting\TestServerWithHosting.csproj" />
|
|
</ItemGroup>
|
|
|
|
<ItemGroup>
|
|
<Content Include="$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)'))ModelContextProtocol.TestServer\$(Configuration)\$(TargetFramework)\*">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
<Content Include="$([System.IO.Path]::GetFullPath('$(ArtifactsBinDir)'))TestServerWithHosting\$(Configuration)\$(TargetFramework)\*">
|
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
</Content>
|
|
</ItemGroup>
|
|
|
|
</Project>
|