<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <OutputType>Exe</OutputType> <!-- Exe output type is required for obscure Microsoft.CodeAnalysis.Workspaces.MSBuild dll copying reasons -->
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <Publicize Include="ObservableCollections" />
    <Publicize Include="Microsoft.CodeAnalysis.Remote.Razor" />
    <Publicize Include="Microsoft.CodeAnalysis.Razor.Workspaces" />
    <Publicize Include="Microsoft.CodeAnalysis.Razor.Compiler" />
    <Publicize Include="Microsoft.VisualStudioCode.RazorExtension" />
    <Publicize Include="Microsoft.CodeAnalysis.LanguageServer.Protocol" />
    <Publicize Include="Microsoft.CodeAnalysis.ExternalAccess.Razor.Features" />
    <Publicize Include="Microsoft.CodeAnalysis.Razor.SemanticTokens" />
    <Publicize Include="Microsoft.CodeAnalysis.Workspaces" />
    <Publicize Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" />
    <Publicize Include="Microsoft.VisualStudio.Shared.VSCodeDebugProtocol" IncludeCompilerGeneratedMembers="false" />
    <DoNotPublicize Include="Microsoft.CodeAnalysis.Workspaces:System.Linq.RoslynEnumerableExtensions" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="CliWrap" />
    <PackageReference Include="FileWatcherEx" />
    <PackageReference Include="LibGit2Sharp" />
    <PackageReference Include="Microsoft.Diagnostics.NETCore.Client" PrivateAssets="all" />
    <PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" />
    <PackageReference Include="Microsoft.Extensions.Http" />
    <PackageReference Include="Microsoft.VisualStudio.Shared.VSCodeDebugProtocol" />
    <!-- If any Microsoft.Build.*.dll (Excluding Locator) ends up in the output, it will be prioritised for loading by MSBuild Nodes  -->
    <PackageReference Include="Ardalis.GuardClauses" />
    <PackageReference Include="AsyncReadProcess" />
    <PackageReference Include="Microsoft.Build" ExcludeAssets="runtime" />
    <PackageReference Include="Microsoft.Build.Framework" ExcludeAssets="runtime" />
    <PackageReference Include="Microsoft.Build.Locator" />
    <PackageReference Include="Krafs.Publicizer">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.Build.Tasks.Core" ExcludeAssets="runtime" />
    <PackageReference Include="Microsoft.Build.Utilities.Core" ExcludeAssets="runtime" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Features" />
<!--    <PackageReference Include="Microsoft.VisualStudioCode.RazorExtension" />--> <!-- Either this or Microsoft.CodeAnalysis.Remote.Razor supplies RemoteSnapshotManager -->
    <PackageReference Include="Microsoft.CodeAnalysis.Remote.Razor" />
    <PackageReference Include="Microsoft.CodeAnalysis.ExternalAccess.Razor.Features" />
    <PackageReference Include="Microsoft.CodeAnalysis.CSharp.Workspaces" />
    <PackageReference Include="Microsoft.CodeAnalysis.Features" />
    <PackageReference Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" PrivateAssets="all" />
    <PackageReference Include="Microsoft.VisualStudio.SolutionPersistence" />
    <PackageReference Include="NuGet.ProjectModel" />
    <PackageReference Include="NuGet.Protocol" />
    <PackageReference Include="ObservableCollections" />
    <PackageReference Include="R3" />
  </ItemGroup>

  <ItemGroup>
    <ProjectReference Include="..\SharpIDE.RazorAccess\SharpIDE.RazorAccess.csproj" />
  </ItemGroup>
</Project>
