diff --git a/dotnet/Directory.Packages.props b/dotnet/Directory.Packages.props
index 40116c26d6..46e0d61924 100644
--- a/dotnet/Directory.Packages.props
+++ b/dotnet/Directory.Packages.props
@@ -25,7 +25,7 @@
-
+
diff --git a/dotnet/agent-framework-dotnet.slnx b/dotnet/agent-framework-dotnet.slnx
index d7bd80d50e..b3a95ea1f6 100644
--- a/dotnet/agent-framework-dotnet.slnx
+++ b/dotnet/agent-framework-dotnet.slnx
@@ -542,6 +542,7 @@
+
diff --git a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-ChatClientAgent/HostedChatClientAgent.csproj b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-ChatClientAgent/HostedChatClientAgent.csproj
index b1fe8d3e3c..0bccd317f6 100644
--- a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-ChatClientAgent/HostedChatClientAgent.csproj
+++ b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-ChatClientAgent/HostedChatClientAgent.csproj
@@ -17,11 +17,13 @@
+
+
+
diff --git a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-McpTools/HostedMcpTools.csproj b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-McpTools/HostedMcpTools.csproj
index 9ce19dd540..359e8a35bb 100644
--- a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-McpTools/HostedMcpTools.csproj
+++ b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-McpTools/HostedMcpTools.csproj
@@ -11,7 +11,7 @@
-
+
@@ -20,11 +20,13 @@
+
diff --git a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-TextRag/HostedTextRag.csproj b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-TextRag/HostedTextRag.csproj
index 9a22108c7b..ed24c32eea 100644
--- a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-TextRag/HostedTextRag.csproj
+++ b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-TextRag/HostedTextRag.csproj
@@ -11,7 +11,7 @@
-
+
@@ -19,12 +19,14 @@
+
diff --git a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Toolbox/HostedToolbox.csproj b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Toolbox/HostedToolbox.csproj
index 1e3c4e10c2..458518c67b 100644
--- a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Toolbox/HostedToolbox.csproj
+++ b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Toolbox/HostedToolbox.csproj
@@ -11,7 +11,7 @@
-
+
@@ -19,11 +19,13 @@
+
diff --git a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Workflow-Handoff/HostedWorkflowHandoff.csproj b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Workflow-Handoff/HostedWorkflowHandoff.csproj
index 625aac0329..d6b68609fb 100644
--- a/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Workflow-Handoff/HostedWorkflowHandoff.csproj
+++ b/dotnet/samples/04-hosting/FoundryHostedAgents/responses/Hosted-Workflow-Handoff/HostedWorkflowHandoff.csproj
@@ -23,6 +23,7 @@
+
@@ -31,6 +32,7 @@
+
@@ -26,6 +27,7 @@
+ false
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/OutputConverter.cs b/dotnet/src/Microsoft.Agents.AI.Foundry.Hosting/OutputConverter.cs
similarity index 100%
rename from dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/OutputConverter.cs
rename to dotnet/src/Microsoft.Agents.AI.Foundry.Hosting/OutputConverter.cs
diff --git a/dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/ServiceCollectionExtensions.cs b/dotnet/src/Microsoft.Agents.AI.Foundry.Hosting/ServiceCollectionExtensions.cs
similarity index 100%
rename from dotnet/src/Microsoft.Agents.AI.Foundry/Hosting/ServiceCollectionExtensions.cs
rename to dotnet/src/Microsoft.Agents.AI.Foundry.Hosting/ServiceCollectionExtensions.cs
diff --git a/dotnet/src/Microsoft.Agents.AI.Foundry/FoundryAITool.cs b/dotnet/src/Microsoft.Agents.AI.Foundry/FoundryAITool.cs
index d9ecb851e3..a235cef664 100644
--- a/dotnet/src/Microsoft.Agents.AI.Foundry/FoundryAITool.cs
+++ b/dotnet/src/Microsoft.Agents.AI.Foundry/FoundryAITool.cs
@@ -122,40 +122,6 @@ public static class FoundryAITool
public static AITool CreateHostedMcpToolbox(string toolboxName, string? version = null)
=> new HostedMcpToolboxAITool(toolboxName, version);
- ///
- /// Creates an marker from a retrieved
- /// from AIProjectClient. Uses and
- /// .
- ///
- /// The toolbox record.
- /// An marker backed by .
- public static AITool CreateHostedMcpToolbox(ToolboxRecord toolbox)
- {
- if (toolbox is null)
- {
- throw new ArgumentNullException(nameof(toolbox));
- }
-
- return new HostedMcpToolboxAITool(toolbox.Name, toolbox.DefaultVersion);
- }
-
- ///
- /// Creates an marker from a specific
- /// retrieved from AIProjectClient. Uses and
- /// .
- ///
- /// The toolbox version.
- /// An marker backed by .
- public static AITool CreateHostedMcpToolbox(ToolboxVersion toolboxVersion)
- {
- if (toolboxVersion is null)
- {
- throw new ArgumentNullException(nameof(toolboxVersion));
- }
-
- return new HostedMcpToolboxAITool(toolboxVersion.Name, toolboxVersion.Version);
- }
-
// --- OpenAI SDK ResponseTool factories ---
///
diff --git a/dotnet/src/Microsoft.Agents.AI.Foundry/Microsoft.Agents.AI.Foundry.csproj b/dotnet/src/Microsoft.Agents.AI.Foundry/Microsoft.Agents.AI.Foundry.csproj
index 003a50ecf7..d223f25677 100644
--- a/dotnet/src/Microsoft.Agents.AI.Foundry/Microsoft.Agents.AI.Foundry.csproj
+++ b/dotnet/src/Microsoft.Agents.AI.Foundry/Microsoft.Agents.AI.Foundry.csproj
@@ -3,8 +3,7 @@
true
true
- $(NoWarn);OPENAI001;MEAI001;NU1903
- false
+ $(NoWarn);OPENAI001;MEAI001
@@ -21,10 +20,6 @@
true
-
-
-
-
@@ -34,12 +29,6 @@
-
-
-
-
-
-
@@ -56,11 +45,6 @@
-
-
-
-
-
Microsoft Agent Framework for Foundry Agents
@@ -72,9 +56,4 @@
-
-
-
-
-
diff --git a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/HostedMcpToolboxAIToolTests.cs b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/HostedMcpToolboxAIToolTests.cs
index 640ef69008..d6fbd53df5 100644
--- a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/HostedMcpToolboxAIToolTests.cs
+++ b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/HostedMcpToolboxAIToolTests.cs
@@ -93,71 +93,4 @@ public class HostedMcpToolboxAIToolTests
Assert.Equal("my-toolbox", marker.ToolboxName);
Assert.Equal("v1", marker.Version);
}
-
- [Fact]
- public void FoundryAITool_CreateHostedMcpToolbox_FromToolboxRecord_UsesNameAndDefaultVersion()
- {
- var record = Azure.AI.Projects.Agents.ProjectsAgentsModelFactory.ToolboxRecord(
- id: "tbx-123",
- name: "calendar-tools",
- defaultVersion: "v2");
-
- var tool = FoundryAITool.CreateHostedMcpToolbox(record);
-
- var marker = Assert.IsType(tool);
- Assert.Equal("calendar-tools", marker.ToolboxName);
- Assert.Equal("v2", marker.Version);
- Assert.Equal("foundry-toolbox://calendar-tools?version=v2", marker.ServerAddress);
- }
-
- [Fact]
- public void FoundryAITool_CreateHostedMcpToolbox_FromToolboxRecord_NullDefaultVersionOmitsQuery()
- {
- var record = Azure.AI.Projects.Agents.ProjectsAgentsModelFactory.ToolboxRecord(
- id: "tbx-abc",
- name: "finance-tools",
- defaultVersion: null);
-
- var tool = FoundryAITool.CreateHostedMcpToolbox(record);
-
- var marker = Assert.IsType(tool);
- Assert.Equal("finance-tools", marker.ToolboxName);
- Assert.Null(marker.Version);
- Assert.Equal("foundry-toolbox://finance-tools", marker.ServerAddress);
- }
-
- [Fact]
- public void FoundryAITool_CreateHostedMcpToolbox_FromToolboxRecord_Null_Throws()
- {
- Assert.Throws(
- () => FoundryAITool.CreateHostedMcpToolbox((Azure.AI.Projects.Agents.ToolboxRecord)null!));
- }
-
- [Fact]
- public void FoundryAITool_CreateHostedMcpToolbox_FromToolboxVersion_UsesNameAndVersion()
- {
- var version = Azure.AI.Projects.Agents.ProjectsAgentsModelFactory.ToolboxVersion(
- metadata: null,
- id: "ver-1",
- name: "hr-tools",
- version: "2025-09-01",
- description: "HR toolbox",
- createdAt: DateTimeOffset.UtcNow,
- tools: null,
- policies: null);
-
- var tool = FoundryAITool.CreateHostedMcpToolbox(version);
-
- var marker = Assert.IsType(tool);
- Assert.Equal("hr-tools", marker.ToolboxName);
- Assert.Equal("2025-09-01", marker.Version);
- Assert.Equal("foundry-toolbox://hr-tools?version=2025-09-01", marker.ServerAddress);
- }
-
- [Fact]
- public void FoundryAITool_CreateHostedMcpToolbox_FromToolboxVersion_Null_Throws()
- {
- Assert.Throws(
- () => FoundryAITool.CreateHostedMcpToolbox((Azure.AI.Projects.Agents.ToolboxVersion)null!));
- }
}
diff --git a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/FoundryAIToolExtensionsTests.cs b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/FoundryAIToolExtensionsTests.cs
new file mode 100644
index 0000000000..f083a9946e
--- /dev/null
+++ b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Hosting/FoundryAIToolExtensionsTests.cs
@@ -0,0 +1,76 @@
+// Copyright (c) Microsoft. All rights reserved.
+
+using System;
+using Microsoft.Agents.AI.Foundry.Hosting;
+
+namespace Microsoft.Agents.AI.Foundry.UnitTests.Hosting;
+
+public class FoundryAIToolExtensionsTests
+{
+ [Fact]
+ public void CreateHostedMcpToolbox_FromToolboxRecord_UsesNameAndDefaultVersion()
+ {
+ var record = Azure.AI.Projects.Agents.ProjectsAgentsModelFactory.ToolboxRecord(
+ id: "tbx-123",
+ name: "calendar-tools",
+ defaultVersion: "v2");
+
+ var tool = FoundryAIToolExtensions.CreateHostedMcpToolbox(record);
+
+ var marker = Assert.IsType(tool);
+ Assert.Equal("calendar-tools", marker.ToolboxName);
+ Assert.Equal("v2", marker.Version);
+ Assert.Equal("foundry-toolbox://calendar-tools?version=v2", marker.ServerAddress);
+ }
+
+ [Fact]
+ public void CreateHostedMcpToolbox_FromToolboxRecord_NullDefaultVersionOmitsQuery()
+ {
+ var record = Azure.AI.Projects.Agents.ProjectsAgentsModelFactory.ToolboxRecord(
+ id: "tbx-abc",
+ name: "finance-tools",
+ defaultVersion: null);
+
+ var tool = FoundryAIToolExtensions.CreateHostedMcpToolbox(record);
+
+ var marker = Assert.IsType(tool);
+ Assert.Equal("finance-tools", marker.ToolboxName);
+ Assert.Null(marker.Version);
+ Assert.Equal("foundry-toolbox://finance-tools", marker.ServerAddress);
+ }
+
+ [Fact]
+ public void CreateHostedMcpToolbox_FromToolboxRecord_Null_Throws()
+ {
+ Assert.Throws(
+ () => FoundryAIToolExtensions.CreateHostedMcpToolbox((Azure.AI.Projects.Agents.ToolboxRecord)null!));
+ }
+
+ [Fact]
+ public void CreateHostedMcpToolbox_FromToolboxVersion_UsesNameAndVersion()
+ {
+ var version = Azure.AI.Projects.Agents.ProjectsAgentsModelFactory.ToolboxVersion(
+ metadata: null,
+ id: "ver-1",
+ name: "hr-tools",
+ version: "2025-09-01",
+ description: "HR toolbox",
+ createdAt: DateTimeOffset.UtcNow,
+ tools: null,
+ policies: null);
+
+ var tool = FoundryAIToolExtensions.CreateHostedMcpToolbox(version);
+
+ var marker = Assert.IsType(tool);
+ Assert.Equal("hr-tools", marker.ToolboxName);
+ Assert.Equal("2025-09-01", marker.Version);
+ Assert.Equal("foundry-toolbox://hr-tools?version=2025-09-01", marker.ServerAddress);
+ }
+
+ [Fact]
+ public void CreateHostedMcpToolbox_FromToolboxVersion_Null_Throws()
+ {
+ Assert.Throws(
+ () => FoundryAIToolExtensions.CreateHostedMcpToolbox((Azure.AI.Projects.Agents.ToolboxVersion)null!));
+ }
+}
diff --git a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Microsoft.Agents.AI.Foundry.UnitTests.csproj b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Microsoft.Agents.AI.Foundry.UnitTests.csproj
index aa291855d8..2cead6029a 100644
--- a/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Microsoft.Agents.AI.Foundry.UnitTests.csproj
+++ b/dotnet/tests/Microsoft.Agents.AI.Foundry.UnitTests/Microsoft.Agents.AI.Foundry.UnitTests.csproj
@@ -2,16 +2,20 @@
false
- $(NoWarn);NU1605
+ $(NoWarn);NU1605;NU1903
-
+
+
+
+
+
@@ -26,6 +30,10 @@
+
+
+
+