diff --git a/src/Nerdbank.GitVersioning.Tasks/build/Nerdbank.GitVersioning.targets b/src/Nerdbank.GitVersioning.Tasks/build/Nerdbank.GitVersioning.targets
index 332eff0ac..3394eef5d 100644
--- a/src/Nerdbank.GitVersioning.Tasks/build/Nerdbank.GitVersioning.targets
+++ b/src/Nerdbank.GitVersioning.Tasks/build/Nerdbank.GitVersioning.targets
@@ -317,25 +317,21 @@
BeforeTargets="GenerateNuspec;_GetPackageFiles"
DependsOnTargets="GetBuildVersion">
- <_NBGV_OriginalServerJson Include="$(MSBuildProjectDirectory)\server.json" Condition="Exists('$(MSBuildProjectDirectory)\server.json')" />
+ <_NBGV_OriginalServerJson Include="@(None)" Condition="'%(None.FileName)%(None.Extension)'=='server.json'" />
+ <_NBGV_StampedServerJson Include="@(_NBGV_OriginalServerJson->'$(IntermediateOutputPath)\nb.gv\server.json')" />
-
-
- <_NBGV_StampedServerJsonPath>$(IntermediateOutputPath)server.json
-
-
+
-
+
-
-
-
-
+
+
+
diff --git a/test/Nerdbank.GitVersioning.Tests/BuildIntegrationManagedTests.cs b/test/Nerdbank.GitVersioning.Tests/BuildIntegrationManagedTests.cs
index ad7143876..a1e09626b 100644
--- a/test/Nerdbank.GitVersioning.Tests/BuildIntegrationManagedTests.cs
+++ b/test/Nerdbank.GitVersioning.Tests/BuildIntegrationManagedTests.cs
@@ -50,7 +50,8 @@ public async Task McpServerJson_VersionStamping()
}
""";
- string serverJsonPath = Path.Combine(this.projectDirectory, "server.json");
+ string serverJsonPath = Path.Combine(this.projectDirectory, ".mcp", "server.json");
+ Directory.CreateDirectory(Path.Combine(this.projectDirectory, ".mcp"));
File.WriteAllText(serverJsonPath, serverJsonContent);
// Set PackageType to McpServer
@@ -58,6 +59,8 @@ public async Task McpServerJson_VersionStamping()
this.testProject.AppendChild(propertyGroup);
propertyGroup.AddProperty("PackageType", "McpServer");
+ this.testProject.AddItem("None", @".mcp\server.json", new Dictionary { ["Pack"] = "true", ["PackagePath"] = "/.mcp/" });
+
this.WriteVersionFile();
BuildResults result = await this.BuildAsync("NBGV_StampMcpServerJson", logVerbosity: LoggerVerbosity.Detailed);
@@ -65,7 +68,9 @@ public async Task McpServerJson_VersionStamping()
Assert.Empty(result.LoggedEvents.OfType());
// Verify the stamped server.json was created
- string stampedServerJsonPath = Path.Combine(this.projectDirectory, result.BuildResult.ProjectStateAfterBuild.GetPropertyValue("IntermediateOutputPath"), "server.json");
+ string stampedServerJsonPath = result.BuildResult.ProjectStateAfterBuild.GetItems("None")
+ .Single(pi => $"{pi.GetMetadataValue("FileName")}{pi.GetMetadataValue("Extension")}" == "server.json")
+ .GetMetadataValue("FullPath");
Assert.True(File.Exists(stampedServerJsonPath), $"Expected stamped server.json at: {stampedServerJsonPath}");
// Verify the version was correctly stamped