diff --git a/src/c#/GeneralUpdate.Differential/DifferentialCore.cs b/src/c#/GeneralUpdate.Differential/DifferentialCore.cs index 30076e708064b92595d106f384025d88b1fcbe8e..2378ec5a582d8d6fbfde4301328d08cc2b917fc2 100644 --- a/src/c#/GeneralUpdate.Differential/DifferentialCore.cs +++ b/src/c#/GeneralUpdate.Differential/DifferentialCore.cs @@ -197,9 +197,13 @@ namespace GeneralUpdate.Differential var listExcept = FileUtil.Compare(patchPath, appPath); foreach (var file in listExcept) { - var extensionName = Path.GetExtension(file.FullName); - if (Filefilter.Diff.Contains(extensionName)) continue; - File.Copy(file.FullName, Path.Combine(appPath, file.Name), true); + //var extensionName = Path.GetExtension(file.FullName); + //if (Filefilter.Diff.Contains(extensionName)) continue; + var targetName = file.FullName.Replace(patchPath, "").TrimStart("\\".ToCharArray()); + var targetPath = Path.Combine(appPath, targetName); + var greatFolder = Directory.GetParent(targetPath); + if (!greatFolder.Exists) greatFolder.Create(); + File.Copy(file.FullName, Path.Combine(appPath, targetPath), true); } if (Directory.Exists(patchPath)) Directory.Delete(patchPath, true); return Task.CompletedTask;