nuget.config 참조

NuGet 동작은 공통 NuGet 구성에 설명된 대로 다른 NuGet.Config 또는 파일의 설정에 의해 제어됩니다nuget.config.

nuget.config는 최상위 <configuration> 노드를 포함하는 XML 파일이며, 이 파일에는 이 항목에서 설명하는 섹션 요소가 포함되어 있습니다. 각 섹션에는 0개 이상의 항목이 포함되어 있습니다. config 파일 예제를 참조하세요. 설정 이름은 대/소문자를 구분하지 않으며, 값에는 환경 변수를 사용할 수 있습니다.

해당 프로젝트 리포지토리 루트에 nuget.config 파일을 추가합니다. 이는 반복성을 촉진하고 다른 사용자가 동일한 NuGet 구성을 갖도록 함에 따라 모범 사례로 간주됩니다. 사용자 또는 컴퓨터별 구성이 적용되지 않도록 요소를 구성 clear 해야 할 수 있습니다. 설정이 적용되는 방법에 대해 자세히 알아보세요.

config 섹션

nuget config 명령을 사용하여 설정할 수 있는 기타 구성 설정을 포함합니다.

dependencyVersionrepositoryPath 사용하여 packages.config프로젝트에만 적용합니다. globalPackagesFolder 는 PackageReference 형식을 사용하는 프로젝트에만 적용됩니다.

dependencyVersion(packages.config만) -DependencyVersion 스위치가 직접 지정되지 않은 경우 패키지 설치, 복원 및 업데이트에 대한 기본 DependencyVersion 값입니다. 이 값은 NuGet 패키지 관리자 UI에서도 사용됩니다. 값은 Lowest, HighestPatch, HighestMinor, Highest입니다.
globalPackagesFolder(PackageReference만 사용하는 프로젝트) 기본 전역 패키지 폴더의 위치입니다. 기본값은 %userprofile%\.nuget\packages(Windows) 또는 ~/.nuget/packages(Mac/Linux)입니다. 상대 경로는 프로젝트별 nuget.config 파일에서 사용할 수 있습니다. 이 설정은 우선적으로 적용되는 환경 변수에 의해 재정의 NUGET_PACKAGES 됩니다.
repositoryPath(packages.config만) 기본 $(Solutiondir)/packages 폴더 대신 NuGet 패키지를 설치할 위치입니다. 상대 경로는 프로젝트별 nuget.config 파일에서 사용할 수 있습니다.
defaultPushSource 작업에 대한 다른 패키지 원본이 없을 때 기본값으로 사용해야 하는 패키지 원본의 URL 또는 경로를 식별합니다.
http_proxy, http_proxy.user, http_proxy.password, no_proxy 패키지 원본에 연결할 때 사용할 프록시 설정입니다. http_proxyhttp://<username>:<password>@<domain> 형식이어야 합니다. 암호는 암호화되어 있으며, 수동으로 추가할 수 없습니다. no_proxy의 경우 값은 프록시 서버를 우회하는 도메인의 쉼표로 구분된 목록입니다. 이러한 값에 대해 http_proxy 및 no_proxy 환경 변수를 번갈아 사용할 수 있습니다. 자세한 내용은 NuGet 프록시 설정(skolima.blogspot.com)을 참조하세요.
maxHttpRequestsPerSource 패키지 종속성 확인 및 다운로드를 위해 NuGet에서 모든 패키지 원본으로 전송되는 최대 병렬 요청 수를 제어합니다. 기본값 dotnet.exeInt32.MaxValue 속성에서 HttpClientHandler.MaxConnectionsPerServer 파생되는 값입니다. 너무 많은 열린 파일 오류를 방지하기 위해 16 제한 제한이 설정되었기 때문에 이 설정은 영향을 dotnet.exeMac OS 주지 않습니다. 이 값의 NuGet client tools 기본값은 Visual Studio 등에서 .NET Framework 실행되며 켜 Windowsnuget.exe1Mono짐입니다64. 스타일 프로젝트의 기본값 Packages.config 은 .로 설정됩니다 Environment.ProcessorCount. 속성을 기본값보다 작은 값으로 구성 maxHttpRequestsPerSource 하면 NuGet 성능에 영향을 줄 수 있습니다.
signatureValidationMode 패키지 설치 및 복원에 대한 패키지 서명을 확인하는 데 사용되는 유효성 검사 모드를 지정합니다. 값은 accept, require. 기본값은 accept입니다.

예제:

<config>
    <add key="dependencyVersion" value="Highest" />
    <add key="globalPackagesFolder" value="c:\packages" />
    <add key="repositoryPath" value="c:\installed_packages" />
    <add key="http_proxy" value="http://company-squid:3128@contoso.com" />
    <add key="signatureValidationMode" value="require" />
    <add key="maxHttpRequestsPerSource" value="16" />
</config>

bindingRedirects 섹션

패키지가 설치될 때 NuGet에서 자동 바인딩 리디렉션을 수행할지 여부를 구성합니다.

skip 자동 바인딩 리디렉션을 건너뛸지 여부를 나타내는 부울입니다. 기본 설정은 거짓입니다.

예제:

<bindingRedirects>
    <add key="skip" value="True" />
</bindingRedirects>

packageRestore 섹션

빌드하는 동안의 패키지 복원을 제어합니다.

사용 NuGet에서 자동 복원을 수행할 수 있는지 여부를 나타내는 부울입니다. config 파일에서 이 키를 설정하는 대신 EnableNuGetPackageRestore 환경 변수를 True 값으로 설정할 수도 있습니다.
자동 NuGet에서 빌드하는 동안 누락된 패키지를 확인해야 하는지 여부를 나타내는 부울입니다.

예제:

<packageRestore>
    <add key="enabled" value="true" />
    <add key="automatic" value="true" />
</packageRestore>

solution 섹션

솔루션의 packages 폴더가 원본 제어에 포함되는지 여부를 제어합니다. 이 섹션은 솔루션 폴더의 nuget.config 파일에서만 작동합니다.

disableSourceControlIntegration 원본 제어로 작업할 때 패키지 폴더를 무시할지 여부를 나타내는 부울입니다. 기본값은 false입니다.

예제:

<solution>
    <add key="disableSourceControlIntegration" value="true" />
</solution>

패키지 원본 섹션

packageSources설치, disabledPackageSourcesactivePackageSourceapikeystrustedSigners 복원 및 packageSourceMapping 업데이트 작업 중에 NuGet이 패키지 리포지토리에서 작동하는 방식을 구성하기 위해 모두 packageSourceCredentials함께 작동합니다.

nuget sources 명령은 일반적으로 명령을 사용하여 관리되고 명령을 trustedSigners사용하여 nuget trusted-signersnuget setapikey 관리되는 설정을 제외하고 apikeys 이러한 설정을 관리하는 데 사용됩니다.

nuget.org에 대한 원본 URL은 https://api.nuget.org/v3/index.json입니다.

packageSources

알려진 모든 패키지 원본을 나열합니다. 이 순서는 복원 작업 중 및 PackageReference 형식을 사용하는 모든 프로젝트에서 무시됩니다. NuGet은 .를 사용하여 packages.config프로젝트를 사용하여 설치 및 업데이트 작업에 대한 원본 순서를 준수합니다.

XML 특성 목적
Key (패키지 원본에 할당할 이름)
패키지 원본의 경로 또는 URL입니다.
protocolVersion 사용할 NuGet 서버 프로토콜 버전입니다. 현재 버전은 "3"입니다. 패키지 원본 URL이 끝나는 .json 지(예: https://api.nuget.org/v3/index.json)를 가리키지 않는 경우 기본값은 버전 "2"입니다. NuGet 3.0 이상에서 지원됩니다. 버전 3 프로토콜에 대한 자세한 내용은 NuGet Server API를 참조하세요.
allowInsecure커넥트ions false이거나 지정되지 않은 경우 원본에서 https 대신 http를 사용할 때 NuGet에서 경고를 내보낸다. 이 원본과의 통신이 가로채기 공격의 위험이 없다고 확신하는 경우 경고를 표시하지 않도록 값을 true로 설정할 수 있습니다. NuGet 6.8 이상에서 지원됩니다.

예제:

<packageSources>
    <clear />    
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Contoso" value="https://contoso.com/packages/" />
    <add key="http-source" value="http://httpsourcetrusted/" allowInsecureConnections="true" />
    <add key="Test Source" value="c:\packages" />
</packageSources>

참고 항목

CLI를 사용하는 경우 MSBuild 속성 또는 (.NET CLI)(NuGet CLI)-Source | 를 표현 RestoreSources 하여 NuGet.config에 정의된 것을 재정 <packageSources> 의할 수 있습니다.--source

지정된 노드에 대해 <clear />가 있으면 NuGet은 해당 노드에 대해 이전에 정의된 구성 값을 무시합니다. 설정이 적용되는 방법에 대해 자세히 알아보세요.

packageSourceCredentials

원본에 대한 사용자 이름과 암호를 저장하며, 일반적으로 nuget sources와 함께 -username-password 스위치로 지정됩니다. 또한 -storepasswordincleartext 옵션을 사용하지 않는 한 암호는 기본적으로 암호화됩니다. 필요에 따라 스위치를 -validauthenticationtypes 사용하여 유효한 인증 유형을 지정할 수 있습니다.

사용자 이름 일반 텍스트 형식의 원본에 대한 사용자 이름입니다. 참고: 환경 변수를 사용하여 보안을 향상시킬 수 있습니다.
password 원본에 대한 암호화된 암호입니다. 암호화된 암호는 Windows에서만 지원되며, 동일한 컴퓨터와 원래 암호화와 동일한 사용자를 통해서만 암호 해독할 수 있습니다.
cleartextpassword 원본에 대한 암호화되지 않은 암호입니다. 참고: 환경 변수를 사용하여 보안을 향상시킬 수 있습니다.
validauthenticationtypes 이 소스에 대한 유효한 인증 형식의 쉼표로 구분된 목록입니다. 서버에서 NTLM 또는 Negotiate를 보급하고 기본 메커니즘을 사용하여 자격 증명을 전송해야 하는 경우(예를 들어 온-프레미스 Azure DevOps Server에서 PAT를 사용하는 경우) basic으로 설정합니다. 다른 유효한 값은 negotiate, kerberos, ntlmdigest이지만 이러한 값은 유용하지 않을 수 있습니다.

Warning

암호를 명확한 텍스트로 저장하는 것은 권장되지 않습니다. 암호화된 암호는 Windows에서만 지원됩니다. 또한 동일한 컴퓨터와 원래 암호화한 동일한 사용자에 의해서만 암호를 해독할 수 있습니다. 자격 증명을 안전하게 관리하는 방법에 대한 자세한 내용은 프라이빗 피드에서 패키지를 사용하는 보안 모범 사례를 참조 하세요.

"매개 변수가 잘못되었습니다"라는 오류 메시지에 대해 password 암호화되지 않은 암호가 전달되면 발생합니다.

예제:

config 파일에서 <packageSourceCredentials> 요소에는 적용 가능한 원본 이름 각각에 대한 자식 노드가 포함됩니다(이름에 포함된 공백은 _x0020_로 바뀜). 즉 "Contoso" 및 "Test Source"라는 원본의 경우 암호화된 암호를 사용하면 config 파일에는 다음이 포함됩니다.

<packageSourceCredentials>
    <Contoso>
        <add key="Username" value="user@contoso.com" />
        <add key="Password" value="..." />
    </Contoso>
    <Test_x0020_Source>
        <add key="Username" value="user" />
        <add key="Password" value="..." />
    </Test_x0020_Source>
</packageSourceCredentials>

또한 유효한 인증 방법을 제공할 수 있습니다.

<packageSourceCredentials>
    <Contoso>
        <add key="Username" value="user@contoso.com" />
        <add key="Password" value="..." />
        <add key="ValidAuthenticationTypes" value="basic" />
    </Contoso>
    <Test_x0020_Source>
        <add key="Username" value="user" />
        <add key="Password" value="..." />
        <add key="ValidAuthenticationTypes" value="basic, negotiate" />
    </Test_x0020_Source>
</packageSourceCredentials>

환경 변수에 저장된 암호화되지 않은 암호를 사용하는 경우:

<packageSourceCredentials>
    <Contoso>
        <add key="Username" value="user@contoso.com" />
        <add key="ClearTextPassword" value="%ContosoPassword%" />
    </Contoso>
    <Test_x0020_Source>
        <add key="Username" value="user" />
        <add key="ClearTextPassword" value="%TestSourcePassword%" />
    </Test_x0020_Source>
</packageSourceCredentials>

암호화되지 않은 암호를 사용하는 경우:

Warning

암호를 명확한 텍스트로 저장하는 것은 권장되지 않습니다.

<packageSourceCredentials>
    <Contoso>
        <add key="Username" value="user@contoso.com" />
        <add key="ClearTextPassword" value="33f!!lloppa" />
    </Contoso>
    <Test_x0020_Source>
        <add key="Username" value="user" />
        <add key="ClearTextPassword" value="hal+9ooo_da!sY" />
    </Test_x0020_Source>
</packageSourceCredentials>

apikeys

nuget setapikey 명령으로 설정된 대로 API 키 인증을 사용하는 원본에 대한 키를 저장합니다.

(원본 URL) 암호화된 API 키입니다.

예제:

<apikeys>
    <add key="https://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
</apikeys>

disabledPackageSources

현재 사용할 수 없는 원본을 식별합니다. 비어 있을 수 있습니다. 이 섹션에서 특정 원본을 사용하지 않도록 설정하지 않으면 사용하도록 설정됩니다.

(원본 이름) 원본을 사용할 수 없는지 여부를 나타내는 부울입니다.

예제:

<disabledPackageSources>
    <add key="Contoso" value="true" />
</disabledPackageSources>

<!-- Empty list -->
<disabledPackageSources />

위의 예제에서 패키지 원본 Contoso 은 사용하지 않도록 설정되며 패키지를 다운로드하거나 설치하는 데 사용되지 않습니다.

activePackageSource

(2.x만, 3.x 이상에서는 사용되지 않음)

현재 활성 중인 원본을 식별하거나 모든 원본의 집계를 나타냅니다.

(원본 이름) 또는 All 키가 원본의 이름이면 값은 원본 경로 또는 URL입니다. All이면 값은 (Aggregate source)여야 하며, 그렇지 않으면 사용할 수 없는 모든 패키지 원본이 결합됩니다.

예제:

<activePackageSource>
    <!-- Only one active source-->
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />

    <!-- All non-disabled sources are active -->
    <add key="All" value="(Aggregate source)" />
</activePackageSource>

trustedSigners 섹션

설치 또는 복원하는 동안 패키지를 허용하는 데 사용되는 신뢰할 수 있는 서명자를 저장합니다. 사용자가 .로 설정 signatureValidationModerequire하면 이 목록을 비울 수 없습니다.

이 섹션은 명령으로 nuget trusted-signers 업데이트할 수 있습니다.

스키마:

신뢰할 수 있는 서명자에는 지정된 서명자를 식별하는 모든 인증서를 등록하는 항목 컬렉션 certificate 이 있습니다. 신뢰할 수 있는 서명자는 1 Author 또는 Repository1일 수 있습니다.

또한 신뢰할 수 있는 리포지토리는 리포지토리에 대한(유효한 https URI여야 합니다)를 지정 serviceIndex 하고 필요에 따라 특정 리포지토리에서 신뢰할 수 있는 사용자를 더 많이 제한하기 위해 세미콜론으로 구분된 목록을 owners 지정할 수 있습니다.

인증서 지문에 사용되는 지원되는 해시 알고리즘은 다음과 SHA384SHA512같습니다SHA256.

certificate 지정된 인증서로 true 지정 allowUntrustedRoot 하면 서명 확인의 일부로 인증서 체인을 빌드하는 동안 신뢰할 수 없는 루트에 연결할 수 있습니다.

예제:

<trustedSigners>
    <author name="microsoft">
        <certificate fingerprint="3F9001EA83C560D712C24CF213C3D312CB3BFF51EE89435D3430BD06B5D0EECE" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
        <certificate fingerprint="AA12DA22A49BCE7D5C1AE64CC1F3D892F150DA76140F210ABD2CBFFCA2C18A27" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
        <certificate fingerprint="566A31882BE208BE4422F7CFD66ED09F5D4524A5994F50CCC8B05EC0528C1353" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
    </author>
    <repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
        <certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
        <certificate fingerprint="5A2901D6ADA3D18260B9C6DFE2133C95D74B9EEF6AE0E5DC334C8454D1477DF4" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
        <owners>microsoft;aspnet;nuget</owners>
    </repository>
</trustedSigners>

fallbackPackageFolders 섹션

(3.5 이상) 패키지를 대체 폴더에 있는 경우 작업을 수행할 필요가 없도록 패키지를 미리 설치하는 방법을 제공합니다. 대체 패키지 폴더는 전역 패키지 폴더와 정확히 동일한 폴더 및 파일 구조를 갖습니다. .nupkg 가 있고 모든 파일이 추출됩니다.

이 구성에 대한 조회 논리는 다음과 같습니다.

  • 전역 패키지 폴더에서 패키지/버전이 이미 다운로드되었는지 확인합니다.

  • 대체 폴더에서 패키지/버전 일치 항목을 찾습니다.

조회에 성공하면 다운로드가 필요하지 않습니다.

일치하는 항목을 찾을 수 없으면 NuGet은 파일 원본을 검사 다음 http 원본을 검사 패키지를 다운로드합니다.

(대체 폴더의 이름) 대체 폴더의 경로입니다.

예제:

<fallbackPackageFolders>
   <add key="XYZ Offline Packages" value="C:\somePath\someFolder\"/>
</fallbackPackageFolders>

패키지 원본 매핑 섹션

packageSourceMapping 섹션에는 NuGet 패키지 작업에서 패키지 ID를 다운로드할 위치를 결정하는 데 도움이 되는 세부 정보가 포함되어 있습니다.

이 섹션은 지금 수동으로만 관리할 수 있습니다.

섹션에는 packageSourceMapping 섹션만 포함될 packageSource 수 있습니다.

packageSource

섹션의 하위 섹션입니다 packageSourceMapping . NuGet이 원본을 관심 있는 패키지 다운로드에 대해 고려해야 하는지 여부를 결정하는 데 도움이 되는 매핑을 포함합니다.

섹션에 선언된 패키지 원본의 packageSources 이름입니다. 키는 패키지 원본의 키와 정확히 일치해야 합니다.

아래 packageSourceMapping 섹션은 packageSource .에 의해 key고유하게 식별됩니다.

package

섹션 packagepackageSource 일부입니다.

패턴
패키지 원본 매핑 구문정의된 패턴입니다.

예제:

<packageSourceMapping>
  <packageSource key="contoso.com">
    <package pattern="Contoso.*" />
  </packageSource>
</packageSourceMapping>

packageManagement 섹션

기본 패키지 관리 형식( packages.config 또는 PackageReference)을 설정합니다. SDK 스타일 프로젝트는 항상 PackageReference를 사용합니다.

format 기본 패키지 관리 형식을 나타내는 부울입니다. 이면 1PackageReference 형식입니다. 이면 0format이 packages.config입니다.
disabled 첫 번째 패키지 설치 시 기본 패키지 형식을 선택하라는 프롬프트를 표시할지 여부를 나타내는 부울입니다. False 는 프롬프트를 숨깁니다.

예제:

<packageManagement>
   <add key="format" value="1" />
   <add key="disabled" value="False" />
</packageManagement>

지정된 노드에 대해 <clear />가 있으면 NuGet은 해당 노드에 대해 이전에 정의된 구성 값을 무시합니다. 설정이 적용되는 방법에 대해 자세히 알아보세요.

환경 변수 사용

nuget.config 값(NuGet 3.4 이상)의 환경 변수를 사용하여 런타임에 설정을 적용할 수 있습니다.

예를 들어 Windows의 HOME 환경 변수가 c:\users\username으로 설정되면 구성 파일의 %HOME%\NuGetRepository 값이 c:\users\username\NuGetRepository로 해석됩니다.

Mac/Linux에서도 Windows 스타일 환경 변수(시작 및 끝%)를 사용해야 합니다. 구성 파일에 있는 것은 $HOME/NuGetRepository 확인되지 않습니다. Mac/Linux에서 값 %HOME%/NuGetRepository 은 .로 /home/myStuff/NuGetRepository확인됩니다.

환경 변수가 없으면 NuGet에서 구성 파일의 리터럴 값을 사용합니다. 예를 들어 %MY_UNDEFINED_VAR%/NuGetRepository 다음과 같이 확인됩니다. path/to/current_working_dir/$MY_UNDEFINED_VAR/NuGetRepository

아래 표에는 NuGet.Config 파일에 대한 환경 변수 구문 및 경로 구분 기호 지원이 나와 있습니다.

NuGet.Config 환경 변수 지원

구문 Dir 구분 기호 Windows nuget.exe Windows dotnet.exe Mac nuget.exe(Mono) Mac dotnet.exe
%MY_VAR% /
%MY_VAR% \ 없음 없음
$MY_VAR / 없음 없음 없음 없음
$MY_VAR \ 없음 없음 없음 아니요

config 파일 예제

다음은 선택적 설정을 포함한 여러 설정을 보여 주는 예제 nuget.config 파일입니다.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <config>
        <!--
            Used to specify the default location to expand packages.
            See: nuget.exe help install
            See: nuget.exe help update

            In this example, %PACKAGEHOME% is an environment variable.
            This syntax works on Windows/Mac/Linux
        -->
        <add key="repositoryPath" value="%PACKAGEHOME%/External" />

        <!--
            Used to specify default source for the push command.
            See: nuget.exe help push
        -->

        <add key="defaultPushSource" value="https://MyRepo/ES/api/v2/package" />

        <!-- Proxy settings -->
        <add key="http_proxy" value="host" />
        <add key="http_proxy.user" value="username" />
        <add key="http_proxy.password" value="encrypted_password" />
    </config>

    <packageRestore>
        <!-- Allow NuGet to download missing packages -->
        <add key="enabled" value="True" />

        <!-- Automatically check for missing packages during build in Visual Studio -->
        <add key="automatic" value="True" />
    </packageRestore>

    <!--
        Used to specify the default Sources for list, install and update.
        See: nuget.exe help list
        See: nuget.exe help install
        See: nuget.exe help update
    -->
    <packageSources>
        <clear />
        <add key="NuGet official package source" value="https://api.nuget.org/v3/index.json" />
        <add key="MyRepo - ES" value="https://MyRepo/ES/nuget" />
    </packageSources>

    <!-- Used to store credentials -->
    <packageSourceCredentials />

    <!-- Used to disable package sources  -->
    <disabledPackageSources />

    <!--
        Used to specify default API key associated with sources.
        See: nuget.exe help setApiKey
        See: nuget.exe help push
        See: nuget.exe help mirror
    -->
    <apikeys>
        <add key="https://MyRepo/ES/api/v2/package" value="encrypted_api_key" />
    </apikeys>

    <!--
        Used to specify trusted signers to allow during signature verification.
        See: nuget.exe help trusted-signers
    -->
    <trustedSigners>
        <author name="microsoft">
            <certificate fingerprint="3F9001EA83C560D712C24CF213C3D312CB3BFF51EE89435D3430BD06B5D0EECE" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
            <certificate fingerprint="AA12DA22A49BCE7D5C1AE64CC1F3D892F150DA76140F210ABD2CBFFCA2C18A27" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
            <certificate fingerprint="566A31882BE208BE4422F7CFD66ED09F5D4524A5994F50CCC8B05EC0528C1353" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
        </author>
        <repository name="nuget.org" serviceIndex="https://api.nuget.org/v3/index.json">
            <certificate fingerprint="0E5F38F57DC1BCC806D8494F4F90FBCEDD988B46760709CBEEC6F4219AA6157D" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
            <certificate fingerprint="5A2901D6ADA3D18260B9C6DFE2133C95D74B9EEF6AE0E5DC334C8454D1477DF4" hashAlgorithm="SHA256" allowUntrustedRoot="false" />
            <owners>microsoft;aspnet;nuget</owners>
        </repository>
    </trustedSigners>
</configuration>