Forge
deeb25a2
1<Project Sdk="Microsoft.NET.Sdk">
2 <PropertyGroup>
3 <TargetFramework>net10.0</TargetFramework>
4 <ImplicitUsings>enable</ImplicitUsings>
5 <Nullable>enable</Nullable>
6 <LangVersion>14</LangVersion>
7 <IsPackable>false</IsPackable>
8 <RootNamespace>CascadeIDE.Tests</RootNamespace>
9 <AssemblyName>CascadeIDE.Tests</AssemblyName>
10 <!-- Паритет с CascadeIDE (SelfContained win-x64): иначе NETSDK1151 при ссылке на self-contained exe. -->
11 <RuntimeIdentifier>win-x64</RuntimeIdentifier>
12 <SelfContained>true</SelfContained>
13 </PropertyGroup>
14 <ItemGroup>
15 <ProjectReference Include="..\externals\acp-csharp\src\AgentClientProtocol\AgentClientProtocol.csproj" />
16 <PackageReference Include="Avalonia.Headless.XUnit" Version="12.0.1" />
17 <PackageReference Include="JsonSchema.Net" Version="9.2.0" />
18 <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
19 <PackageReference Include="Tomlyn" Version="2.3.2" />
20 <PackageReference Include="xunit.v3" Version="3.2.2" />
21 <PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
22 <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
23 <PrivateAssets>all</PrivateAssets>
24 </PackageReference>
25 </ItemGroup>
26 <ItemGroup>
27 <ProjectReference Include="..\CascadeIDE.csproj" />
28 <ProjectReference Include="..\CascadeIDE.Contracts\CascadeIDE.Contracts.csproj" />
29 </ItemGroup>
30 <Target Name="CopyBuildVerifyWorker" AfterTargets="Build">
31 <PropertyGroup>
32 <_BuildVerifyWorkerBin Condition="'$(RuntimeIdentifier)' != ''">..\tools\CascadeIDE.BuildVerifyWorker\bin\$(Configuration)\net10.0\$(RuntimeIdentifier)</_BuildVerifyWorkerBin>
33 <_BuildVerifyWorkerBin Condition="'$(RuntimeIdentifier)' == ''">..\tools\CascadeIDE.BuildVerifyWorker\bin\$(Configuration)\net10.0</_BuildVerifyWorkerBin>
34 </PropertyGroup>
35 <MSBuild
36 Projects="..\tools\CascadeIDE.BuildVerifyWorker\CascadeIDE.BuildVerifyWorker.csproj"
37 Properties="Configuration=$(Configuration);RuntimeIdentifier=$(RuntimeIdentifier)"
38 Targets="Build" />
39 <ItemGroup>
40 <_BuildVerifyWorkerFiles Include="$(_BuildVerifyWorkerBin)\*.*" />
41 </ItemGroup>
42 <Copy SourceFiles="@(_BuildVerifyWorkerFiles)" DestinationFolder="$(OutputPath)" SkipUnchangedFiles="true" />
43 </Target>
44 <!-- Примеры для MarkdownExamplesVerificationTests — рядом с выводом тестов (см. тест). -->
45 <ItemGroup>
46 <None Include="..\samples\MarkdownExamples\**\*">
47 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
48 <Link>samples\MarkdownExamples\%(RecursiveDir)%(Filename)%(Extension)</Link>
49 </None>
50 <None Include="..\CodeNavigation\presets.toml">
51 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
52 <Link>CodeNavigation\presets.toml</Link>
53 </None>
54 <None Include="..\CodeNavigation\condition-branch-label-presets.toml">
55 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
56 <Link>CodeNavigation\condition-branch-label-presets.toml</Link>
57 </None>
58 <!-- AiPrompts: промпт ADR 0108 веб-портала — см. WebAiPortalAdr0108PromptVerificationTests -->
59 <None Include="..\AiPrompts\web-ai-portal-bridge-adr0108.prompts.md">
60 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
61 <Link>AiPrompts\web-ai-portal-bridge-adr0108.prompts.md</Link>
62 </None>
63 <None Include="..\AiPrompts\web-ai-portal-bridge-adr0108.chat-paste.txt">
64 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
65 <Link>AiPrompts\web-ai-portal-bridge-adr0108.chat-paste.txt</Link>
66 </None>
67 <!-- Как у exe: Hotkeys/hotkeys.toml для тестов MainWindowHotkeyService (toggle_command_palette и т.д.). -->
68 <None Include="..\Hotkeys\hotkeys.toml">
69 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
70 <Link>Hotkeys\hotkeys.toml</Link>
71 </None>
72 <!-- Паритет с Content CascadeIDE: fallback UiModeCatalog при отсутствии ресурсов в устаревшей CascadeIDE.dll (см. TryReadUiModesFile). -->
73 <None Include="..\UiModes\**\*">
74 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
75 <Link>UiModes\%(RecursiveDir)%(Filename)%(Extension)</Link>
76 </None>
77 <None Include="TestData\AgentContract\cockpit_surface_contract_slice.approved.json">
78 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
79 <Link>TestData\AgentContract\cockpit_surface_contract_slice.approved.json</Link>
80 </None>
81 <None Include="TestData\Visual\*.approved.png">
82 <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
83 <Link>TestData\Visual\%(Filename)%(Extension)</Link>
84 </None>
85 </ItemGroup>
86</Project>
87
View only · write via MCP/CIDE