Files
Roger Barreto 551b44f04f .NET: Bump Azure.AI.Projects to 2.1.0-beta.4 (#6795)
* .NET: Bump Azure.AI.Projects to 2.1.0-alpha.20260629.1

Bumps Azure.AI.Projects beta.3 to alpha.20260629.1 and aligns transitive deps (System.ClientModel 1.14.0, Azure.Core 1.59.0, Msal 4.84.2). Adapts to renamed AgentSessionFiles APIs (Upload/GetAll/Delete, scoped GetAgentSessionFiles, SizeInBytes), AgentToolboxes (CreateVersion/Delete), and strongly typed toolbox tools (WebSearchToolboxTool, MCPToolboxTool). Adds azure-sdk public dev feed for prerelease restore.

* Use positional arg for AgentSessionFiles.DeleteAsync cleanup

* Move to Azure.AI.Projects 2.1.0-beta.4 (released beta)

Swaps the alpha daily build for the published 2.1.0-beta.4. Drops the azure-sdk public dev feed since beta.4 and its deps are on nuget.org. Beta.4 requires Azure.Core 1.60.0, which cascades the 10.0.8 servicing packages (Microsoft.Bcl.AsyncInterfaces, System.Diagnostics.DiagnosticSource, System.Text.Json, System.Threading.Channels, Microsoft.Extensions.DependencyInjection.Abstractions, Microsoft.Extensions.Logging.Abstractions) to 10.0.9.

* Reconcile Azure.Core 1.60.0 bump with merged main

Reverts the over-eager System.Threading.Channels 10.0.9 bump back to 10.0.8 (it was not part of the Azure.Core 1.60.0 cascade and caused a net472 MSB3277 conflict against the 10.0.8 that Microsoft.Extensions.AI pulls). Drops the now-obsolete Azure.Core VersionOverride=1.59.0 in HostedWorkflowHandoff (added on main to satisfy AgentServer while the central pin was lower); the central pin is now 1.60.0 which already satisfies the >=1.59.0 floor, and the override was downgrading this project below sibling projects (CS1705).
2026-07-02 14:40:03 +00:00
..

Summary

These samples showcases the ability to parse a declarative Foundry Workflow file (YAML) to build a Workflow that may be executed using the same pattern as any code-based workflow.

Configuration

These samples must be configured to create and use agents your Microsoft Foundry Project.

Settings

We suggest using .NET Secret Manager to avoid the risk of leaking secrets into the repository, branches and pull requests. You can also use environment variables if you prefer.

The configuraton required by the samples is:

Setting Name Description
FOUNDRY_PROJECT_ENDPOINT The endpoint URL of your Microsoft Foundry Project.
FOUNDRY_MODEL The name of the model deployment to use
AZURE_AI_BING_CONNECTION_ID The name of the Bing Grounding connection configured in your Microsoft Foundry Project.

To set your secrets with .NET Secret Manager:

  1. From the root of the repository, navigate the console to the project folder:

    cd dotnet/samples/03-workflows/Declarative/ExecuteWorkflow
    
  2. Examine existing secret definitions:

    dotnet user-secrets list
    
  3. If needed, perform first time initialization:

    dotnet user-secrets init
    
  4. Define setting that identifies your Microsoft Foundry Project (endpoint):

    dotnet user-secrets set "FOUNDRY_PROJECT_ENDPOINT" "https://..."
    
  5. Define setting that identifies your Microsoft Foundry Model Deployment (endpoint):

    dotnet user-secrets set "FOUNDRY_MODEL" "gpt-5"
    
  6. Define setting that identifies your Bing Grounding connection:

    dotnet user-secrets set "AZURE_AI_BING_CONNECTION_ID" "mybinggrounding"
    

You may alternatively set your secrets as an environment variable (PowerShell):

$env:FOUNDRY_PROJECT_ENDPOINT="https://..."
$env:FOUNDRY_MODEL="gpt-5"
$env:AZURE_AI_BING_CONNECTION_ID="mybinggrounding"

Authorization

Use Azure CLI to authorize access to your Microsoft Foundry Project:

az login
az account get-access-token

Execution

The samples may be executed within Visual Studio or VS Code.

To run the sampes from the command line:

  1. From the root of the repository, navigate the console to the project folder:

    cd dotnet/samples/03-workflows/Declarative/Marketing
    dotnet run Marketing
    
  2. Run the demo and optionally provided input:

    dotnet run "An eco-friendly stainless steel water bottle that keeps drinks cold for 24 hours."
    dotnet run c:/myworkflows/Marketing.yaml
    

    The sample will allow for interactive input in the absence of an input argument.