public void Missing_Metadata_Serialization_Test() { using var workspace = CreateWorkspace(); var serializer = workspace.Services.GetService <ISerializerService>(); var reference = new MissingMetadataReference(); // make sure this doesn't throw var assetFromFile = new SolutionAsset(serializer.CreateChecksum(reference, CancellationToken.None), reference); var assetFromStorage = CloneAsset(serializer, assetFromFile); _ = CloneAsset(serializer, assetFromStorage); }
public async Task Missing_Metadata_Serialization_Test() { using var workspace = CreateWorkspace(); var serializer = workspace.Services.GetService <ISerializerService>(); var reference = new MissingMetadataReference(); // make sure this doesn't throw var assetFromFile = new SolutionAsset(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer); var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false); await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false); }
public async Task Missing_Metadata_Serailization_Test() { var workspace = new AdhocWorkspace(); var serializer = new Serializer(workspace); var reference = new MissingMetadataReference(); // make sure this doesn't throw var assetFromFile = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer); var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false); var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false); }
public async Task Missing_Metadata_Serailization_Test() { var workspace = new AdhocWorkspace(); var reference = new MissingMetadataReference(); var serializer = new Serializer(workspace.Services); var trees = new ChecksumTreeCollection(); var assetBuilder = new AssetBuilder(trees.CreateRootTreeNode(workspace.CurrentSolution.State)); // make sure this doesn't throw var assetFromFile = assetBuilder.Build(reference, CancellationToken.None); var assetFromStorage = await CloneAssetAsync(serializer, assetBuilder, assetFromFile).ConfigureAwait(false); var assetFromStorage2 = await CloneAssetAsync(serializer, assetBuilder, assetFromStorage).ConfigureAwait(false); }
public async Task SnapshotWithMissingReferencesTest() { using var workspace = CreateWorkspace(); var project = workspace.CurrentSolution.AddProject("Project", "Project.dll", LanguageNames.CSharp); var metadata = new MissingMetadataReference(); var analyzer = new AnalyzerFileReference(Path.Combine(TempRoot.Root, "missing_reference"), new MissingAnalyzerLoader()); project = project.AddMetadataReference(metadata); project = project.AddAnalyzerReference(analyzer); var validator = new SerializationValidator(workspace.Services); using var snapshot = await validator.AssetStorage.StoreAssetsAsync(project.Solution, CancellationToken.None).ConfigureAwait(false); // this shouldn't throw var recovered = await validator.GetSolutionAsync(snapshot).ConfigureAwait(false); }
public async Task SnapshotWithMissingReferencesTest() { var hostServices = MefHostServices.Create( MefHostServices.DefaultAssemblies.Add(typeof(Host.TemporaryStorageServiceFactory.TemporaryStorageService).Assembly)); var project = new AdhocWorkspace(hostServices).CurrentSolution.AddProject("Project", "Project.dll", LanguageNames.CSharp); var metadata = new MissingMetadataReference(); var analyzer = new AnalyzerFileReference("missing_reference", new MissingAnalyzerLoader()); project = project.AddMetadataReference(metadata); project = project.AddAnalyzerReference(analyzer); var snapshotService = (new RemotableDataServiceFactory()).CreateService(project.Solution.Workspace.Services) as IRemotableDataService; using var snapshot = await snapshotService.CreatePinnedRemotableDataScopeAsync(project.Solution, CancellationToken.None).ConfigureAwait(false); // this shouldn't throw var recovered = await GetSolutionAsync(snapshotService, snapshot).ConfigureAwait(false); }
public async Task SnapshotWithMissingReferencesTest() { var hostServices = MefHostServices.Create( MefHostServices.DefaultAssemblies.Add(typeof(Host.TemporaryStorageServiceFactory.TemporaryStorageService).Assembly)); var project = new AdhocWorkspace(hostServices).CurrentSolution.AddProject("Project", "Project.dll", LanguageNames.CSharp); var metadata = new MissingMetadataReference(); var analyzer = new AnalyzerFileReference("missing_reference", new MissingAnalyzerLoader()); project = project.AddMetadataReference(metadata); project = project.AddAnalyzerReference(analyzer); var snapshotService = (new SolutionSynchronizationServiceFactory()).CreateService(project.Solution.Workspace.Services) as ISolutionSynchronizationService; using (var snapshot = await snapshotService.CreatePinnedRemotableDataScopeAsync(project.Solution, CancellationToken.None).ConfigureAwait(false)) { // this shouldn't throw var recovered = await GetSolutionAsync(snapshotService, snapshot).ConfigureAwait(false); } }
public async Task Missing_Metadata_Serailization_Test() { var workspace = new AdhocWorkspace(); var serializer = new Serializer(workspace.Services); var reference = new MissingMetadataReference(); // make sure this doesn't throw var assetFromFile = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer); var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false); var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false); }