diff --git a/Source/Tools/Flax.Build/Build/Assembler.cs b/Source/Tools/Flax.Build/Build/Assembler.cs index 1e71bef57..8f81c9e41 100644 --- a/Source/Tools/Flax.Build/Build/Assembler.cs +++ b/Source/Tools/Flax.Build/Build/Assembler.cs @@ -106,7 +106,10 @@ namespace Flax.Build if (File.Exists(cacheAssemblyPath) && File.Exists(cacheInfoPath)) { var lines = File.ReadAllLines(cacheInfoPath); - if (lines.Length == 2 && long.TryParse(lines[0], out var cacheTimeTicks) && string.Equals(buildInfo, lines[1], StringComparison.Ordinal)) + if (lines.Length == 3 && + long.TryParse(lines[0], out var cacheTimeTicks) && + string.Equals(buildInfo, lines[1], StringComparison.Ordinal) && + !lines[2].Split(';').Except(SourceFiles).Any()) { // Cached time and var cacheTime = DateTime.FromBinary(cacheTimeTicks); @@ -199,7 +202,8 @@ namespace Flax.Build File.WriteAllLines(cacheInfoPath, new[] { recentWriteTime.ToBinary().ToString(), - buildInfo + buildInfo, + string.Join(';', SourceFiles) }); } diff --git a/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs b/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs index 845753e2f..df1424e95 100644 --- a/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs +++ b/Source/Tools/Flax.Build/Projects/VisualStudio/CSSDKProjectGenerator.cs @@ -174,6 +174,7 @@ namespace Flax.Build.Projects.VisualStudio } } + var rootPath = project.WorkspaceRootPath.Replace('/', '\\') + '\\'; foreach (var file in files) { string fileType; @@ -185,7 +186,7 @@ namespace Flax.Build.Projects.VisualStudio var filePath = file.Replace('/', '\\'); // Normalize path var projectPath = Utilities.MakePathRelativeTo(filePath, projectDirectory); string linkPath = null; - if (projectPath.StartsWith(@"..\..\..\")) + if (!filePath.StartsWith(rootPath)) { // Create folder structure for project external files var sourceIndex = filePath.LastIndexOf(@"\Source\");