/
githubmirror
/
roslyn
Обзор
Документация
Войти
/
githubmirror
/
roslyn
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/LanguageServer/Microsoft.CodeAnalysis.LanguageServer.ProcessHost.UnitTests/Microsoft.CodeAnalysis.LanguageServer.ProcessHost.UnitTests.csproj
94 строки
5 KB
David Barbet
Implement LSP daemon mode (#84199)
25 июл 2026, 00:26
Не верифицирован
25 июл 2026, 00:26
490f516
Код
Авторство
О чём код?
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>$(NetVSCode)</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <RoslynProjectType>UnitTest</RoslynProjectType> <IsPackable>false</IsPackable> </PropertyGroup> <ItemGroup> <ProjectReference Include="..\..\Compilers\Test\Core\Microsoft.CodeAnalysis.Test.Utilities.csproj" /> <ProjectReference Include="..\Microsoft.CodeAnalysis.LanguageServer\Microsoft.CodeAnalysis.LanguageServer.csproj" /> <ProjectReference Include="..\Protocol.TestUtilities\Microsoft.CodeAnalysis.LanguageServer.Protocol.Test.Utilities.csproj" /> <ProjectReference Include="..\Protocol\Microsoft.CodeAnalysis.LanguageServer.Protocol.csproj" /> <!-- The tests launch the thin client (the dotnet-tool entry point) rather than the language server directly. Reference it for build ordering only; the tests invoke it as a process and don't compile against it. --> <ProjectReference Include="..\roslyn-language-server\roslyn-language-server.csproj" ReferenceOutputAssembly="false" Private="false" /> <ProjectReference Include="..\..\VisualStudio\DevKit\Impl\Microsoft.VisualStudio.LanguageServices.DevKit.csproj" ReferenceOutputAssembly="false" Private="false" /> </ItemGroup> <ItemGroup> <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Analyzer.Testing" /> </ItemGroup> <ItemGroup> <!-- These helpers are shared verbatim with Microsoft.CodeAnalysis.LanguageServer.UnitTests and live in the Microsoft.CodeAnalysis.LanguageServer.UnitTests namespace. --> <Compile Include="..\Microsoft.CodeAnalysis.LanguageServer.UnitTests\Utilities\TestPaths.cs" Link="Utilities\TestPaths.cs" /> <Compile Include="..\Microsoft.CodeAnalysis.LanguageServer.UnitTests\Utilities\NamedPipeTestUtilities.cs" Link="Utilities\NamedPipeTestUtilities.cs" /> <Compile Include="..\roslyn-language-server\ExitCodes.cs" Link="Utilities\ExitCodes.cs" /> </ItemGroup> <!-- Copy files contained in the project to a RoslynLSP subdirectory to emulate deployment of the language server. --> <Target Name="_CopyLanguageServerFiles" AfterTargets="ResolveProjectReferences"> <MSBuild Projects="..\Microsoft.CodeAnalysis.LanguageServer\Microsoft.CodeAnalysis.LanguageServer.csproj" Targets="GetTargetPath"> <Output TaskParameter="TargetOutputs" ItemName="_LanguageServerFilePath" /> </MSBuild> <PropertyGroup> <_LanguageServerOutputPath>$([System.IO.Path]::GetDirectoryName(%(_LanguageServerFilePath.Identity)))</_LanguageServerOutputPath> </PropertyGroup> <ItemGroup Condition="'$(_LanguageServerOutputPath)' != ''"> <_LanguageServerFile Include="$(_LanguageServerOutputPath)\**\*.*" /> <_LanguageServerFile Remove="$(_LanguageServerOutputPath)\**\*.mef-composition" /> <Content Include="@(_LanguageServerFile)" Link="RoslynLSP\%(RecursiveDir)\%(_LanguageServerFile.Filename)%(_LanguageServerFile.Extension)" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Target> <!-- Deploy the thin client (the dotnet-tool entry point) into the same RoslynLSP directory as the language server, so its ServerExecutable finds the bundled server next to itself. Only the thin client's own outputs are copied; the project has no package or project runtime dependencies, and its shared helpers are compiled into these roslyn-language-server.* outputs, so they don't collide with the server files copied above. --> <Target Name="_CopyThinClientFiles" AfterTargets="ResolveProjectReferences" Condition="'$(DesignTimeBuild)' != 'true'"> <MSBuild Projects="..\roslyn-language-server\roslyn-language-server.csproj" Targets="GetTargetPath"> <Output TaskParameter="TargetOutputs" ItemName="_ThinClientFilePath" /> </MSBuild> <PropertyGroup> <_ThinClientOutputPath>$([System.IO.Path]::GetDirectoryName(%(_ThinClientFilePath.Identity)))</_ThinClientOutputPath> </PropertyGroup> <ItemGroup Condition="'$(_ThinClientOutputPath)' != ''"> <_ThinClientFile Include="$(_ThinClientOutputPath)\roslyn-language-server.*" /> <Content Include="@(_ThinClientFile)" Link="RoslynLSP\%(_ThinClientFile.Filename)%(_ThinClientFile.Extension)" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Target> <!-- Copy files contained in the NPM package to a DevKit subdirectory to emulate deployment of the DevKit extension in VS Code. --> <Target Name="_CopyDevKitExtensionFiles" AfterTargets="ResolveProjectReferences"> <MSBuild Projects="..\..\VisualStudio\DevKit\Impl\Microsoft.VisualStudio.LanguageServices.DevKit.csproj" Targets="GetPackInputs"> <Output TaskParameter="TargetOutputs" ItemName="_DevKitExtensionFile" /> </MSBuild> <ItemGroup> <Content Include="@(_DevKitExtensionFile)" Link="DevKit\%(_DevKitExtensionFile.Filename)%(_DevKitExtensionFile.Extension)" CopyToOutputDirectory="PreserveNewest" /> </ItemGroup> </Target> </Project>