From 22161985d4ce65f8a3057da9901e189f29c997b7 Mon Sep 17 00:00:00 2001 From: itn3000 Date: Mon, 1 Apr 2019 13:21:21 +0900 Subject: [PATCH] fix path normalization for linux system(#386) --- sandbox/TestData.SubDir/Class1.cs | 12 ++++++++++++ sandbox/TestData.SubDir/Sub/SubA.cs | 12 ++++++++++++ sandbox/TestData.SubDir/TestData.SubDir.csproj | 15 +++++++++++++++ .../Utils/RoslynExtensions.cs | 3 ++- 4 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 sandbox/TestData.SubDir/Class1.cs create mode 100644 sandbox/TestData.SubDir/Sub/SubA.cs create mode 100644 sandbox/TestData.SubDir/TestData.SubDir.csproj diff --git a/sandbox/TestData.SubDir/Class1.cs b/sandbox/TestData.SubDir/Class1.cs new file mode 100644 index 000000000..3074dafff --- /dev/null +++ b/sandbox/TestData.SubDir/Class1.cs @@ -0,0 +1,12 @@ +using System; +using MessagePack; + +namespace TestData.SubDir +{ + + [MessagePackObject(true)] + public class A + { + public int X { get; set; } + } +} diff --git a/sandbox/TestData.SubDir/Sub/SubA.cs b/sandbox/TestData.SubDir/Sub/SubA.cs new file mode 100644 index 000000000..6465e0606 --- /dev/null +++ b/sandbox/TestData.SubDir/Sub/SubA.cs @@ -0,0 +1,12 @@ +using System; +using MessagePack; + +namespace TestData.SubDir.Sub +{ + + [MessagePackObject(true)] + public class SubA + { + public int Y { get; set; } + } +} diff --git a/sandbox/TestData.SubDir/TestData.SubDir.csproj b/sandbox/TestData.SubDir/TestData.SubDir.csproj new file mode 100644 index 000000000..6289519ae --- /dev/null +++ b/sandbox/TestData.SubDir/TestData.SubDir.csproj @@ -0,0 +1,15 @@ + + + + netstandard2.0 + + + + + + + + + + + diff --git a/src/MessagePack.UniversalCodeGenerator/Utils/RoslynExtensions.cs b/src/MessagePack.UniversalCodeGenerator/Utils/RoslynExtensions.cs index a257ae04d..c8dc142b7 100644 --- a/src/MessagePack.UniversalCodeGenerator/Utils/RoslynExtensions.cs +++ b/src/MessagePack.UniversalCodeGenerator/Utils/RoslynExtensions.cs @@ -216,7 +216,8 @@ static Workspace GetWorkspaceFromBuild(this StLogger.Build build, params string[ foreach (var compile in compileItems) { var filePath = compile.Text; - var absFilePath = Path.Combine(projectDir, filePath); + // normalize path separater char + var absFilePath = Path.Combine(projectDir, filePath).Replace('\\', Path.DirectorySeparatorChar); roslynProject = roslynProject.AddDocument(filePath, File.ReadAllText(absFilePath)).Project; } foreach (var asm in assemblies)