提交 a5326a75 编写于 作者: H Heejae Chang

re-arranged VS.Next project and added VSTest.Next project

上级 2ddbe6e6
......@@ -353,8 +353,6 @@ Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.CodeAnalysis.Meta
EndProject
Project("{D954291E-2A0B-460D-934E-DC6B0785DB48}") = "Microsoft.CodeAnalysis.PooledObjects", "src\Dependencies\PooledObjects\Microsoft.CodeAnalysis.PooledObjects.shproj", "{C1930979-C824-496B-A630-70F5369A636F}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServicesVisualStudio.Next", "src\VisualStudio\Next\ServicesVisualStudio.Next.csproj", "{FE0D4BDD-1C30-488E-A870-854F5B8C5014}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteWorkspaces", "src\Workspaces\Remote\Core\RemoteWorkspaces.csproj", "{F822F72A-CC87-4E31-B57D-853F65CBEBF3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServiceHub", "src\Workspaces\Remote\ServiceHub\ServiceHub.csproj", "{80FDDD00-9393-47F7-8BAF-7E87CE011068}"
......@@ -367,6 +365,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualStudioTestUtilities.N
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RemoteHostClientMock", "src\VisualStudio\RemoteHostClientMock\RemoteHostClientMock.csproj", "{7259740A-FD0E-480F-A7D4-08BE90AC9051}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ServicesVisualStudio.Next", "src\VisualStudio\Core\Next\ServicesVisualStudio.Next.csproj", "{FE0D4BDD-1C30-488E-A870-854F5B8C5014}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VisualStudioTest.Next", "src\VisualStudio\Core\Test.Next\VisualStudioTest.Next.csproj", "{2E1658E2-5045-4F85-A64C-C0ECCD39F719}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\Compilers\Core\CommandLine\CommandLine.projitems*{06b26dcb-7a12-48ef-ae50-708593abd05f}*SharedItemsImports = 4
......@@ -3040,26 +3042,6 @@ Global
{1AA6D2F0-2C40-4AF6-BB79-50AFDCC62720}.Release|x64.Build.0 = Release|Any CPU
{1AA6D2F0-2C40-4AF6-BB79-50AFDCC62720}.Release|x86.ActiveCfg = Release|Any CPU
{1AA6D2F0-2C40-4AF6-BB79-50AFDCC62720}.Release|x86.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|ARM.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|ARM.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x64.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x64.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x86.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x86.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Any CPU.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|ARM.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|ARM.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x64.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x64.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x86.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x86.Build.0 = Release|Any CPU
{F822F72A-CC87-4E31-B57D-853F65CBEBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F822F72A-CC87-4E31-B57D-853F65CBEBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F822F72A-CC87-4E31-B57D-853F65CBEBF3}.Debug|ARM.ActiveCfg = Debug|Any CPU
......@@ -3180,6 +3162,46 @@ Global
{7259740A-FD0E-480F-A7D4-08BE90AC9051}.Release|x64.Build.0 = Release|Any CPU
{7259740A-FD0E-480F-A7D4-08BE90AC9051}.Release|x86.ActiveCfg = Release|Any CPU
{7259740A-FD0E-480F-A7D4-08BE90AC9051}.Release|x86.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|ARM.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|ARM.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x64.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x64.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x86.ActiveCfg = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Debug|x86.Build.0 = Debug|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Any CPU.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|ARM.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|ARM.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x64.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x64.Build.0 = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x86.ActiveCfg = Release|Any CPU
{FE0D4BDD-1C30-488E-A870-854F5B8C5014}.Release|x86.Build.0 = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|Any CPU.Build.0 = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|ARM.ActiveCfg = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|ARM.Build.0 = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|x64.ActiveCfg = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|x64.Build.0 = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|x86.ActiveCfg = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Debug|x86.Build.0 = Debug|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|Any CPU.ActiveCfg = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|Any CPU.Build.0 = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|ARM.ActiveCfg = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|ARM.Build.0 = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|x64.ActiveCfg = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|x64.Build.0 = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|x86.ActiveCfg = Release|Any CPU
{2E1658E2-5045-4F85-A64C-C0ECCD39F719}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -3342,12 +3364,13 @@ Global
{1AA6D2F0-2C40-4AF6-BB79-50AFDCC62720} = {DD13507E-D5AF-4B61-B11A-D55D6F4A73A5}
{D73ADF7D-2C1C-42AE-B2AB-EDC9497E4B71} = {C2D1346B-9665-4150-B644-075CF1636BAA}
{C1930979-C824-496B-A630-70F5369A636F} = {C2D1346B-9665-4150-B644-075CF1636BAA}
{FE0D4BDD-1C30-488E-A870-854F5B8C5014} = {8DBA5174-B0AA-4561-82B1-A46607697753}
{F822F72A-CC87-4E31-B57D-853F65CBEBF3} = {55A62CFA-1155-46F1-ADF3-BEEE51B58AB5}
{80FDDD00-9393-47F7-8BAF-7E87CE011068} = {55A62CFA-1155-46F1-ADF3-BEEE51B58AB5}
{1CA184D3-89CB-4074-BEC5-F8AEBA657D41} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{7AD4FE65-9A30-41A6-8004-AA8F89BCB7F3} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9}
{78324E87-92D5-412C-9FA8-5CC2FBFBAF6C} = {8DBA5174-B0AA-4561-82B1-A46607697753}
{7259740A-FD0E-480F-A7D4-08BE90AC9051} = {8DBA5174-B0AA-4561-82B1-A46607697753}
{FE0D4BDD-1C30-488E-A870-854F5B8C5014} = {8DBA5174-B0AA-4561-82B1-A46607697753}
{2E1658E2-5045-4F85-A64C-C0ECCD39F719} = {8DBA5174-B0AA-4561-82B1-A46607697753}
EndGlobalSection
EndGlobal
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Composition;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.Diagnostics;
using Microsoft.CodeAnalysis.Diagnostics.EngineV2;
using Microsoft.CodeAnalysis.Diagnostics.Telemetry;
using Microsoft.CodeAnalysis.Execution;
using Microsoft.CodeAnalysis.Host.Mef;
using Microsoft.CodeAnalysis.Options;
using Microsoft.CodeAnalysis.Remote;
using Microsoft.CodeAnalysis.Remote.Diagnostics;
using Microsoft.CodeAnalysis.Workspaces.Diagnostics;
using Microsoft.VisualStudio.LanguageServices.Implementation.Extensions;
using Microsoft.VisualStudio.LanguageServices.Remote;
using Roslyn.Utilities;
namespace Microsoft.VisualStudio.LanguageServices.Diagnostics
{
[ExportWorkspaceService(typeof(IRemoteHostDiagnosticAnalyzerExecutor), layer: ServiceLayer.Host), Shared]
internal class OutOfProcDiagnosticAnalyzerExecutor : IRemoteHostDiagnosticAnalyzerExecutor
{
private readonly IDiagnosticAnalyzerService _analyzerService;
private readonly AbstractHostDiagnosticUpdateSource _hostDiagnosticUpdateSource;
// TODO: this should be removed once we move options down to compiler layer
private readonly ConcurrentDictionary<string, ValueTuple<OptionSet, Asset>> _lastOptionSetPerLanguage;
[ImportingConstructor]
public OutOfProcDiagnosticAnalyzerExecutor(
IDiagnosticAnalyzerService analyzerService,
AbstractHostDiagnosticUpdateSource hostDiagnosticUpdateSource)
{
_analyzerService = analyzerService;
_hostDiagnosticUpdateSource = hostDiagnosticUpdateSource;
// currently option is a bit wierd since it is not part of snapshot and
// we can't load all options without loading all language specific dlls.
// we have tracking issue for this.
// https://github.com/dotnet/roslyn/issues/13643
_lastOptionSetPerLanguage = new ConcurrentDictionary<string, ValueTuple<OptionSet, Asset>>();
}
public async Task<DiagnosticAnalysisResultMap<DiagnosticAnalyzer, DiagnosticAnalysisResult>> AnalyzeAsync(CompilationWithAnalyzers analyzerDriver, Project project, CancellationToken cancellationToken)
{
var remoteHostClient = await project.Solution.Workspace.Services.GetService<IRemoteHostClientService>().GetRemoteHostClientAsync(cancellationToken).ConfigureAwait(false);
if (remoteHostClient == null)
{
// remote host is not running. this can happen if remote host is disabled.
return await InProcCodeAnalysisDiagnosticAnalyzerExecutor.Instance.AnalyzeAsync(analyzerDriver, project, cancellationToken).ConfigureAwait(false);
}
var outOfProcResult = await AnalyzeOutOfProcAsync(remoteHostClient, analyzerDriver, project, cancellationToken).ConfigureAwait(false);
// make sure things are not cancelled
cancellationToken.ThrowIfCancellationRequested();
return DiagnosticAnalysisResultMap.Create(outOfProcResult.AnalysisResult, outOfProcResult.TelemetryInfo);
}
private async Task<DiagnosticAnalysisResultMap<DiagnosticAnalyzer, DiagnosticAnalysisResult>> AnalyzeOutOfProcAsync(
RemoteHostClient client, CompilationWithAnalyzers analyzerDriver, Project project, CancellationToken cancellationToken)
{
var solution = project.Solution;
var snapshotService = solution.Workspace.Services.GetService<ISolutionChecksumService>();
// TODO: this should be moved out
var analyzerMap = CreateAnalyzerMap(analyzerDriver.Analyzers);
if (analyzerMap.Count == 0)
{
return DiagnosticAnalysisResultMap.Create(ImmutableDictionary<DiagnosticAnalyzer, DiagnosticAnalysisResult>.Empty, ImmutableDictionary<DiagnosticAnalyzer, AnalyzerTelemetryInfo>.Empty);
}
var optionAsset = GetOptionsAsset(solution, project.Language, cancellationToken);
var hostChecksums = GetHostAnalyzerReferences(snapshotService, _analyzerService.GetHostAnalyzerReferences(), cancellationToken);
var argument = new DiagnosticArguments(
analyzerDriver.AnalysisOptions.ReportSuppressedDiagnostics,
analyzerDriver.AnalysisOptions.LogAnalyzerExecutionTime,
project.Id, optionAsset.Checksum.ToArray(), hostChecksums, analyzerMap.Keys.ToArray());
// TODO: send telemetry on session
using (var session = await client.CreateCodeAnalysisServiceSessionAsync(solution, cancellationToken).ConfigureAwait(false))
{
session.AddAdditionalAssets(optionAsset);
var result = await session.InvokeAsync(
WellKnownServiceHubServices.CodeAnalysisService_CalculateDiagnosticsAsync,
new object[] { argument },
(s, c) => GetCompilerAnalysisResultAsync(s, analyzerMap, project, c)).ConfigureAwait(false);
ReportAnalyzerExceptions(project, result.Exceptions);
return result;
}
}
private Asset GetOptionsAsset(Solution solution, string language, CancellationToken cancellationToken)
{
// TODO: we need better way to deal with options. optionSet itself is green node but
// it is not part of snapshot and can't save option to solution since we can't use language
// specific option without loading related language specific dlls
var options = solution.Options;
// we have cached options
ValueTuple<OptionSet, Asset> value;
if (_lastOptionSetPerLanguage.TryGetValue(language, out value) && value.Item1 == options)
{
return value.Item2;
}
// otherwise, we need to build one.
var assetBuilder = new AssetBuilder(solution);
var asset = assetBuilder.Build(options, language, cancellationToken);
_lastOptionSetPerLanguage[language] = ValueTuple.Create(options, asset);
return asset;
}
private CompilationWithAnalyzers CreateAnalyzerDriver(CompilationWithAnalyzers analyzerDriver, Func<DiagnosticAnalyzer, bool> predicate)
{
var analyzers = analyzerDriver.Analyzers.Where(predicate).ToImmutableArray();
if (analyzers.Length == 0)
{
// we can't create analyzer driver with 0 analyzers
return null;
}
return analyzerDriver.Compilation.WithAnalyzers(analyzers, analyzerDriver.AnalysisOptions);
}
private async Task<DiagnosticAnalysisResultMap<DiagnosticAnalyzer, DiagnosticAnalysisResult>> GetCompilerAnalysisResultAsync(Stream stream, Dictionary<string, DiagnosticAnalyzer> analyzerMap, Project project, CancellationToken cancellationToken)
{
// handling of cancellation and exception
var version = await DiagnosticIncrementalAnalyzer.GetDiagnosticVersionAsync(project, cancellationToken).ConfigureAwait(false);
using (var reader = new ObjectReader(stream))
{
return DiagnosticResultSerializer.Deserialize(reader, analyzerMap, project, version, cancellationToken);
}
}
private void ReportAnalyzerExceptions(Project project, ImmutableDictionary<DiagnosticAnalyzer, ImmutableArray<DiagnosticData>> exceptions)
{
foreach (var kv in exceptions)
{
var analyzer = kv.Key;
foreach (var diagnostic in kv.Value)
{
_hostDiagnosticUpdateSource.ReportAnalyzerDiagnostic(analyzer, diagnostic, project);
}
}
}
private ImmutableArray<byte[]> GetHostAnalyzerReferences(ISolutionChecksumService snapshotService, IEnumerable<AnalyzerReference> references, CancellationToken cancellationToken)
{
// TODO: cache this to somewhere
var builder = ImmutableArray.CreateBuilder<byte[]>();
foreach (var reference in references)
{
var asset = snapshotService.GetGlobalAsset(reference, cancellationToken);
builder.Add(asset.Checksum.ToArray());
}
return builder.ToImmutable();
}
private Dictionary<string, DiagnosticAnalyzer> CreateAnalyzerMap(IEnumerable<DiagnosticAnalyzer> analyzers)
{
// TODO: this needs to be cached. we can have 300+ analyzers
return analyzers.ToDictionary(a => a.GetAnalyzerIdAndVersion().Item1, a => a);
}
}
}
......@@ -3,7 +3,7 @@
<PropertyGroup>
<ProjectLanguage>CSharp</ProjectLanguage>
</PropertyGroup>
<Import Project="..\..\..\build\Targets\VSL.Settings.targets" />
<Import Project="..\..\..\..\build\Targets\VSL.Settings.targets" />
<PropertyGroup>
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<Platform Condition="'$(Platform)' == ''">AnyCPU</Platform>
......@@ -15,39 +15,39 @@
<CopyNuGetImplementations>false</CopyNuGetImplementations>
</PropertyGroup>
<ItemGroup Label="Project References">
<ProjectReference Include="..\..\Compilers\Core\Portable\CodeAnalysis.csproj">
<ProjectReference Include="..\..\..\Compilers\Core\Portable\CodeAnalysis.csproj">
<Project>{1EE8CAD3-55F9-4D91-96B2-084641DA9A6C}</Project>
<Name>CodeAnalysis</Name>
</ProjectReference>
<ProjectReference Include="..\..\Dependencies\Immutable\Immutable.csproj">
<ProjectReference Include="..\..\..\Dependencies\Immutable\Immutable.csproj">
<Project>{DCDA908D-EF5E-494B-ADDC-C26F5FD610CA}</Project>
<Name>Immutable</Name>
</ProjectReference>
<ProjectReference Include="..\..\EditorFeatures\Core\EditorFeatures.csproj">
<ProjectReference Include="..\..\..\EditorFeatures\Core\EditorFeatures.csproj">
<Project>{3cdeeab7-2256-418a-beb2-620b5cb16302}</Project>
<Name>EditorFeatures</Name>
</ProjectReference>
<ProjectReference Include="..\..\EditorFeatures\Text\TextEditorFeatures.csproj">
<ProjectReference Include="..\..\..\EditorFeatures\Text\TextEditorFeatures.csproj">
<Project>{18f5fbb8-7570-4412-8cc7-0a86ff13b7ba}</Project>
<Name>TextEditorFeatures</Name>
</ProjectReference>
<ProjectReference Include="..\..\Features\Core\Portable\Features.csproj">
<ProjectReference Include="..\..\..\Features\Core\Portable\Features.csproj">
<Project>{edc68a0e-c68d-4a74-91b7-bf38ec909888}</Project>
<Name>Features</Name>
</ProjectReference>
<ProjectReference Include="..\..\Workspaces\Core\Desktop\Workspaces.Desktop.csproj">
<ProjectReference Include="..\..\..\Workspaces\Core\Desktop\Workspaces.Desktop.csproj">
<Project>{2e87fa96-50bb-4607-8676-46521599f998}</Project>
<Name>Workspaces.Desktop</Name>
</ProjectReference>
<ProjectReference Include="..\..\Workspaces\Core\Portable\Workspaces.csproj">
<ProjectReference Include="..\..\..\Workspaces\Core\Portable\Workspaces.csproj">
<Project>{5F8D2414-064A-4B3A-9B42-8E2A04246BE5}</Project>
<Name>Workspaces</Name>
</ProjectReference>
<ProjectReference Include="..\..\Workspaces\Remote\Core\RemoteWorkspaces.csproj">
<ProjectReference Include="..\..\..\Workspaces\Remote\Core\RemoteWorkspaces.csproj">
<Project>{f822f72a-cc87-4e31-b57d-853f65cbebf3}</Project>
<Name>RemoteWorkspaces</Name>
</ProjectReference>
<ProjectReference Include="..\Core\Def\ServicesVisualStudio.csproj">
<ProjectReference Include="..\..\Core\Def\ServicesVisualStudio.csproj">
<Project>{86fd5b9a-4fa0-4b10-b59f-cfaf077a859c}</Project>
<Name>ServicesVisualStudio</Name>
</ProjectReference>
......@@ -74,22 +74,22 @@
<PublicAPI Include="PublicAPI.Unshipped.txt" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\Workspaces\Remote\ServiceHub\Diagnostics\DiagnosticArguments.cs">
<Compile Include="..\..\..\Workspaces\Remote\ServiceHub\Diagnostics\DiagnosticArguments.cs">
<Link>Diagnostics\DiagnosticArguments.cs</Link>
</Compile>
<Compile Include="..\..\Workspaces\Remote\ServiceHub\Diagnostics\DiagnosticResultSerializer.cs">
<Compile Include="..\..\..\Workspaces\Remote\ServiceHub\Diagnostics\DiagnosticResultSerializer.cs">
<Link>Diagnostics\DiagnosticResultSerializer.cs</Link>
</Compile>
<Compile Include="..\..\Workspaces\Remote\ServiceHub\Shared\ClientDirectStream.cs">
<Compile Include="..\..\..\Workspaces\Remote\ServiceHub\Shared\ClientDirectStream.cs">
<Link>Shared\ClientDirectStream.cs</Link>
</Compile>
<Compile Include="..\..\Workspaces\Remote\ServiceHub\Shared\Extensions.cs">
<Compile Include="..\..\..\Workspaces\Remote\ServiceHub\Shared\Extensions.cs">
<Link>Shared\Extensions.cs</Link>
</Compile>
<Compile Include="..\..\Workspaces\Remote\ServiceHub\Shared\ServerDirectStream.cs">
<Compile Include="..\..\..\Workspaces\Remote\ServiceHub\Shared\ServerDirectStream.cs">
<Link>Shared\ServerDirectStream.cs</Link>
</Compile>
<Compile Include="..\..\Workspaces\Remote\ServiceHub\Shared\WellKnownServiceHubServices.cs">
<Compile Include="..\..\..\Workspaces\Remote\ServiceHub\Shared\WellKnownServiceHubServices.cs">
<Link>Shared\WellKnownServiceHubServices.cs</Link>
</Compile>
<Compile Include="Diagnostics\OutOfProcDiagnosticAnalyzerExecutor.cs" />
......@@ -128,5 +128,5 @@
<InternalsVisibleTo Include="Roslyn.VisualStudio.RemoteHostClientMock" />
<InternalsVisibleToTest Include="Roslyn.VisualStudio.Test.Utilities.Next" />
</ItemGroup>
<Import Project="..\..\..\build\Targets\VSL.Imports.targets" />
<Import Project="..\..\..\..\build\Targets\VSL.Imports.targets" />
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\..\..\..\build\Targets\VSL.Settings.targets" />
<PropertyGroup>
<Nonshipping>true</Nonshipping>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{2E1658E2-5045-4F85-A64C-C0ECCD39F719}</ProjectGuid>
<OutputType>Library</OutputType>
<RootNamespace>Roslyn.VisualStudio.Next.UnitTests</RootNamespace>
<AssemblyName>Roslyn.VisualStudio.Next.UnitTests</AssemblyName>
<PlatformTarget>AnyCPU</PlatformTarget>
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
<TargetFrameworkProfile />
</PropertyGroup>
<ItemGroup Label="Project References">
<ProjectReference Include="..\..\..\Interactive\EditorFeatures\Core\InteractiveEditorFeatures.csproj">
<Project>{92412d1a-0f23-45b5-b196-58839c524917}</Project>
<Name>InteractiveEditorFeatures</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Interactive\EditorFeatures\CSharp\CSharpInteractiveEditorFeatures.csproj">
<Project>{fe2cbea6-d121-4faa-aa8b-fc9900bf8c83}</Project>
<Name>CSharpInteractiveEditorFeatures</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Test\Utilities\Portable.FX45\TestUtilities.FX45.csproj">
<Project>{f7712928-1175-47b3-8819-ee086753dee2}</Project>
<Name>TestUtilities.FX45</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\Core\Desktop\Workspaces.Desktop.csproj">
<Project>{2e87fa96-50bb-4607-8676-46521599f998}</Project>
<Name>Workspaces.Desktop</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\CSharp\Portable\CSharpWorkspace.csproj">
<Project>{21B239D0-D144-430F-A394-C066D58EE267}</Project>
<Name>CSharpWorkspace</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\Core\Portable\CodeAnalysis.csproj">
<Project>{1EE8CAD3-55F9-4D91-96B2-084641DA9A6C}</Project>
<Name>CodeAnalysis</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Compilers\CSharp\Portable\CSharpCodeAnalysis.csproj">
<Project>{B501A547-C911-4A05-AC6E-274A50DFF30E}</Project>
<Name>CSharpCodeAnalysis</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\EditorFeatures\CSharp\CSharpEditorFeatures.csproj">
<Project>{B0CE9307-FFDB-4838-A5EC-CE1F7CDC4AC2}</Project>
<Name>CSharpEditorFeatures</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\EditorFeatures\Core\EditorFeatures.csproj">
<Project>{3CDEEAB7-2256-418A-BEB2-620B5CB16302}</Project>
<Name>EditorFeatures</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\InteractiveWindow\Editor\InteractiveWindow.csproj">
<Project>{01E9BD68-0339-4A13-B42F-A3CA84D164F3}</Project>
<Name>InteractiveWindow</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\EditorFeatures\Test\EditorServicesTest.csproj">
<Project>{8CEE3609-A5A9-4A9B-86D7-33118F5D6B33}</Project>
<Name>EditorServicesTest</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Test\Utilities\Desktop\TestUtilities.Desktop.csproj">
<Project>{76C6F005-C89D-4348-BB4A-391898DBEB52}</Project>
<Name>TestUtilities.Desktop</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Workspaces\Core\Portable\Workspaces.csproj">
<Project>{5F8D2414-064A-4B3A-9B42-8E2A04246BE5}</Project>
<Name>Workspaces</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\VisualStudio\Core\Def\ServicesVisualStudio.csproj">
<Project>{86FD5B9A-4FA0-4B10-B59F-CFAF077A859C}</Project>
<Name>ServicesVisualStudio</Name>
</ProjectReference>
<ProjectReference Include="..\..\Core\Test\ServicesVisualStudioTest.vbproj">
<Project>{A1455D30-55FC-45EF-8759-3AEBDB13D940}</Project>
<Name>ServicesVisualStudioTest</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\InteractiveWindow\VisualStudio\VisualStudioInteractiveWindow.csproj">
<Project>{20BB6FAC-44D2-4D76-ABFE-0C1E163A1A4F}</Project>
<Name>VisualStudioInteractiveWindow</Name>
</ProjectReference>
<ProjectReference Include="..\..\CSharp\Impl\CSharpVisualStudio.csproj">
<Project>{5DEFADBD-44EB-47A2-A53E-F1282CC9E4E9}</Project>
<Name>CSharpVisualStudio</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\EditorFeatures\TestUtilities\ServicesTestUtilities.csproj">
<Project>{76C6F005-C89D-4348-BB4A-39189DDBEB52}</Project>
<Name>ServicesTestUtilities</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\VisualStudio\Core\Impl\ServicesVisualStudioImpl.csproj">
<Project>{C0E80510-4FBE-4B0C-AF2C-4F473787722C}</Project>
<Name>ServicesVisualStudioImpl</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Features\CSharp\Portable\CSharpFeatures.csproj">
<Project>{3973B09A-4FBF-44A5-8359-3D22CEB71F71}</Project>
<Name>CSharpFeatures</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\..\..\EditorFeatures\Text\TextEditorFeatures.csproj">
<Project>{18F5FBB8-7570-4412-8CC7-0A86FF13B7BA}</Project>
<Name>TextEditorFeatures</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\..\..\Features\Core\Portable\Features.csproj">
<Project>{EDC68A0E-C68D-4A74-91B7-BF38EC909888}</Project>
<Name>Features</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
</PropertyGroup>
<ItemGroup>
<Reference Include="envdte, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="envdte80, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="microsoft.msxml, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Private>false</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="VSLangProj, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</ItemGroup>
<ItemGroup>
<Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" />
</ItemGroup>
<ItemGroup>
<None Include="app.config">
<SubType>Designer</SubType>
</None>
<None Include="project.json" />
</ItemGroup>
<Import Project="..\..\..\..\build\Targets\VSL.Imports.targets" />
<Import Project="..\..\..\..\build\Targets\Roslyn.Toolsets.Xunit.targets" />
</Project>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="xunit.appDomain" value="required"/>
<add key="xunit.diagnosticMessages" value="false"/>
<add key="xunit.parallelizeTestCollections" value="false"/>
</appSettings>
<system.diagnostics>
<trace>
<listeners>
<remove name="Default" />
<add name="ThrowingTraceListener" type="Microsoft.CodeAnalysis.ThrowingTraceListener, Roslyn.Test.Utilities.Desktop" />
</listeners>
</trace>
</system.diagnostics>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Collections.Immutable" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
{
"dependencies": { },
"frameworks": {
"net46": {}
},
"runtimes": {
"win7": { }
}
}
......@@ -46,7 +46,7 @@
<Name>ServiceHub</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
</ProjectReference>
<ProjectReference Include="..\Next\ServicesVisualStudio.Next.csproj">
<ProjectReference Include="..\Core\Next\ServicesVisualStudio.Next.csproj">
<Project>{fe0d4bdd-1c30-488e-a870-854f5b8c5014}</Project>
<Name>ServicesVisualStudio.Next</Name>
</ProjectReference>
......
......@@ -44,7 +44,7 @@
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
<ForceIncludeInVSIX>true</ForceIncludeInVSIX>
</ProjectReference>
<ProjectReference Include="..\Next\ServicesVisualStudio.Next.csproj">
<ProjectReference Include="..\Core\Next\ServicesVisualStudio.Next.csproj">
<Project>{fe0d4bdd-1c30-488e-a870-854f5b8c5014}</Project>
<Name>ServicesVisualStudio.Next</Name>
<IncludeOutputGroupsInVSIX>BuiltProjectOutputGroup%3b</IncludeOutputGroupsInVSIX>
......@@ -103,4 +103,4 @@
<Compile Include="AssemblyRedirects.cs" />
</ItemGroup>
<Import Project="..\..\..\build\Targets\VSL.Imports.targets" />
</Project>
</Project>
\ No newline at end of file
......@@ -47,10 +47,9 @@
<Name>ServicesVisualStudio</Name>
<Private>False</Private>
</ProjectReference>
<ProjectReference Include="..\Next\ServicesVisualStudio.Next.csproj">
<ProjectReference Include="..\Core\Next\ServicesVisualStudio.Next.csproj">
<Project>{fe0d4bdd-1c30-488e-a870-854f5b8c5014}</Project>
<Name>ServicesVisualStudio.Next</Name>
<Private>False</Private>
</ProjectReference>
</ItemGroup>
<ItemGroup />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册