예제 #1
0
        public void Execute(InstrumentationResult result)
        {
            foreach (var assembly in result.Assemblies)
            {
                foreach (var assemblyLocation in assembly.Locations)
                {
                    if (File.Exists(assemblyLocation.BackupFile))
                    {
                        File.Copy(assemblyLocation.BackupFile, assemblyLocation.File, true);
                        File.Delete(assemblyLocation.BackupFile);
                    }

                    if (File.Exists(assemblyLocation.BackupPdbFile))
                    {
                        File.Copy(assemblyLocation.BackupPdbFile, assemblyLocation.PdbFile, true);
                        File.Delete(assemblyLocation.BackupPdbFile);
                    }

                    var assemblyDirectory = _fileSystem.FileInfo.FromFileName(assemblyLocation.File).Directory;
                    foreach (var depsJsonFile in assemblyDirectory.GetFiles("*.deps.json"))
                    {
                        _depsJsonUtils.UnpatchDepsJson(depsJsonFile);
                    }
                }
            }

            foreach (var extraAssembly in result.ExtraAssemblies)
            {
                if (File.Exists(extraAssembly))
                {
                    File.Delete(extraAssembly);
                }
            }
        }
예제 #2
0
        public void ShouldUnpatchDepsJson()
        {
            var fileName       = @"c:\source\deps.json";
            var patchedContent = GetPatchedDepsJsonContent();

            var mockFileData = new MockFileData(patchedContent);

            _mockFileSystem.AddFile(fileName, mockFileData);

            var expectedResult = GetOriginalDepsJsonContent();

            _sut.UnpatchDepsJson(_mockFileSystem.FileInfo.FromFileName(fileName));

            var result = _mockFileSystem.GetFile(fileName).TextContents;

            result.ToOSLineEnding().Should().Be(expectedResult.ToOSLineEnding());
        }