Skip to content

Commit 4b58680

Browse files
committed
Add parameterless AddUserSecrets
1 parent 3d35af3 commit 4b58680

File tree

3 files changed

+28
-9
lines changed

3 files changed

+28
-9
lines changed

Smith.msbuildproj

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
<Project Sdk="Microsoft.Build.NoTargets/3.7.56">
2-
1+
<Project Sdk="Microsoft.Build.NoTargets/3.7.56">
32
<PropertyGroup>
43
<TargetFramework>net10.0</TargetFramework>
54
<PackageId>Smith</PackageId>
65
<Description>An opinionated meta-package for doing AI agents using Microsoft.Extensions.AI and MCP</Description>
76
<PackageOutputPath>$(MSBuildThisFileDirectory)bin</PackageOutputPath>
87
</PropertyGroup>
9-
108
<ItemGroup>
119
<PackageReference Include="Microsoft.Extensions.AI" Version="9.5.0" />
1210
<PackageReference Include="Microsoft.Extensions.AI.OpenAI" Version="9.5.0-preview.1.25265.7" />
@@ -18,17 +16,15 @@
1816
<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="9.5.0" />
1917
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.5" />
2018
<PackageReference Include="Microsoft.Extensions.Options" Version="10.0.0-preview.4.25258.110" />
21-
22-
<PackageReference Include="NuGetizer" Version="1.2.4" PrivateAssets="all" />
23-
<PackageReference Include="Anthropic" Version="3.6.0" />
19+
<PackageReference Include="NuGetizer" Version="1.2.4" PrivateAssets="all" Pack="false" />
20+
<PackageReference Include="Anthropic" Version="3.6.0" />
2421
<PackageReference Include="Spectre.Console" Version="0.50.0" />
2522
<PackageReference Include="Spectre.Console.Json" Version="0.50.0" />
2623
<PackageReference Include="ThisAssembly" Version="2.0.14" />
2724
</ItemGroup>
28-
2925
<ItemGroup>
3026
<None Update="Smith.props" PackFolder="build" />
3127
<None Update="Smith.targets" PackFolder="build" />
28+
<Content Include="cs\AddUserSecrets.cs" Pack="true" BuildAction="Compile" />
3229
</ItemGroup>
33-
3430
</Project>

Smith.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<ImplicitUsings>true</ImplicitUsings>
44
<Nullable>enable</Nullable>
55
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
6+
<NoWarn>TA001;$(NoWarn)</NoWarn>
67
</PropertyGroup>
78

89
<ItemGroup>
@@ -28,7 +29,7 @@
2829
</ItemGroup>
2930

3031
<ItemGroup>
31-
<AssemblyMetadata Include="MSBuildProjectName" Value="$(MSBuildProjectName)" />
32+
<Constant Include="UserSecretsId" Value="$(UserSecretsId)" />
3233
</ItemGroup>
3334

3435
</Project>

cs/AddUserSecrets.cs

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
namespace Microsoft.Extensions.Configuration;
2+
3+
/// <summary>
4+
/// Provides configuration extensions for adding user secrets configuration source.
5+
/// </summary>
6+
public static class UserSecretsConfigurationExtensions
7+
{
8+
/// <summary>
9+
/// <para>
10+
/// Adds the user secrets configuration source with the project-specified user secrets ID.
11+
/// </para>
12+
/// </summary>
13+
/// <param name="configuration">The configuration builder.</param>
14+
/// <returns>The configuration builder.</returns>
15+
public static IConfigurationBuilder AddUserSecrets(this IConfigurationBuilder configuration)
16+
{
17+
if (!string.IsNullOrEmpty(ThisAssembly.Constants.UserSecretsId))
18+
return configuration.AddUserSecrets(ThisAssembly.Constants.UserSecretsId, reloadOnChange: false);
19+
20+
return configuration;
21+
}
22+
}

0 commit comments

Comments
 (0)