nuget.config Başvuru

NuGet davranışı, Ortak NuGet yapılandırmalarında açıklandığı gibi farklı NuGet.Config ayarlar veya nuget.config dosyalar tarafından denetlenmektedir.

nuget.config , bu konuda açıklanan bölüm öğelerini içeren en üst düzey <configuration> düğümü içeren bir XML dosyasıdır. Her bölüm sıfır veya daha fazla öğe içerir. Örnek yapılandırma dosyasına bakın. Adları ayarlamak büyük/küçük harfe duyarlı değildir ve değerler ortam değişkenlerini kullanabilir.

İpucu

Proje deponuzun köküne bir nuget.config dosya ekleyin. Bu, yinelenebilirliği yükselttiğinden ve farklı kullanıcıların aynı NuGet yapılandırmasına sahip olmasını sağladığından en iyi yöntem olarak kabul edilir. Kullanıcıya veya makineye özgü yapılandırma uygulanmadığından emin olmak için öğeleri yapılandırmanız clear gerekebilir. Ayarların nasıl uygulandığı hakkında daha fazla bilgi edinin.

yapılandırma bölümü

komutu kullanılarak nuget config ayarlanabilen çeşitli yapılandırma ayarlarını içerir.

dependencyVersion ve repositoryPath yalnızca kullanan packages.configprojelere uygulayın. globalPackagesFolder yalnızca PackageReference biçimini kullanan projeler için geçerlidir.

Anahtar Değer
dependencyVersion (packages.config yalnızca) Anahtar doğrudan belirtilmediğinde -DependencyVersion paket yükleme, geri yükleme ve güncelleştirme için varsayılan DependencyVersion değer. Bu değer NuGet Paket Yöneticisi kullanıcı arabirimi tarafından da kullanılır. Değerler , Lowest, HighestPatch, HighestMinor. Highest
globalPackagesFolder (yalnızca PackageReference kullanan projeler) Varsayılan genel paketler klasörünün konumu. Varsayılan değer ( %userprofile%\.nuget\packages Windows) veya ~/.nuget/packages (Mac/Linux). Göreli yol projeye özgü nuget.config dosyalarda kullanılabilir. Bu ayar, öncelik alan ortam değişkeni tarafından NUGET_PACKAGES geçersiz kılınır.
repositoryPath (packages.config yalnızca) Varsayılan $(Solutiondir)/packages klasör yerine NuGet paketlerinin yükleneceği konum. Göreli yol projeye özgü nuget.config dosyalarda kullanılabilir.
defaultPushSource bir işlem için başka paket kaynağı bulunamazsa varsayılan olarak kullanılması gereken paket kaynağının URL'sini veya yolunu tanımlar.
http_proxy http_proxy.user http_proxy.password no_proxy Paket kaynaklarına bağlanırken kullanılacak ara sunucu ayarları; http_proxy biçiminde http://<username>:<password>@<domain>olmalıdır. Parolalar şifrelenir ve el ile eklenemez. için no_proxydeğeri, ara sunucuyu atlayarak etki alanlarının virgülle ayrılmış bir listesidir. Alternatif olarak bu değerler için http_proxy ve no_proxy ortam değişkenlerini kullanabilirsiniz. Ek ayrıntılar için bkz . NuGet proxy ayarları (skolima.blogspot.com).
maxHttpRequestsPerSource Paket bağımlılığı çözümlemesi ve indirmeleri için NuGet'ten her paket kaynağına gönderilen en fazla paralel istek sayısını denetler. üzerindeki dotnet.exe varsayılan değer özelliğinden HttpClientHandler.MaxConnectionsPerServer türetilen değerdirInt32.MaxValue. Çok fazla açık dosya hatası oluşmasını önlemek için Mac OS azaltma sınırı olarak ayarlandığından 16 bu ayarın üzerindeki etkisi dotnet.exe yoktur. bunun için NuGet client tools varsayılan değer ve gibi 1Visual StudioMononuget.exeWindows64 üzerinde .NET Framework çalışır. Stil projeleri için Packages.config varsayılan değer olarak Environment.ProcessorCountayarlanır. maxHttpRequestsPerSource Özelliği varsayılan değerden küçük bir değere yapılandırmak NuGet performansını etkileyebilir.
signatureValidationMode Paket yükleme ve geri yükleme için paket imzalarını doğrulamak için kullanılan doğrulama modunu belirtir. Değerler , requireşeklindediraccept. varsayılan değeridir accept.

Örnek:

<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 bölümü

Bir paket yüklendiğinde NuGet'in otomatik bağlama yeniden yönlendirmesi yapıp yapmadığını yapılandırır.

Anahtar Değer
skip Otomatik bağlama yeniden yönlendirmelerinin atlanıp atlanmayacağını gösteren boole değeri. Varsayılan değer false.

Örnek:

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

packageRestore bölümü

Derlemeler sırasında paket geri yüklemeyi denetler.

Anahtar Değer
enabled NuGet'in otomatik geri yükleme gerçekleştirip gerçekleştiremeyeceğini gösteren boole değeri. Bu anahtarı yapılandırma dosyasında ayarlamak yerine ortam değişkenini True değeriyle de ayarlayabilirsinizEnableNuGetPackageRestore.
otomatik NuGet'in derleme sırasında eksik paketleri denetlemesi gerekip gerekmediğini gösteren boole değeri.

Örnek:

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

çözüm bölümü

Çözüm klasörünün packages kaynak denetimine eklenip eklenmeyeceğini denetler. Bu bölüm yalnızca çözüm klasöründeki dosyalarda nuget.config çalışır.

Anahtar Değer
disableSourceControlIntegration Kaynak denetimiyle çalışırken packages klasörünün yoksayılıp yoksayılmayacağını gösteren boole değeri. Varsayılan değer olarak yanlış kullanılır.

Örnek:

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

Paket kaynağı bölümleri

packageSources, packageSourceCredentials, , apikeys, activePackageSource, disabledPackageSourcestrustedSigners ve packageSourceMapping tümü birlikte çalışarak NuGet'in yükleme, geri yükleme ve güncelleştirme işlemleri sırasında paket depolarıyla nasıl çalıştığını yapılandırır.

komutu genellikle komutu kullanılarak yönetilen ve trustedSigners komutu kullanılarak nuget trusted-signersnuget setapikeyyönetilenler dışında bu ayarları yönetmek için apikeys kullanılır.nuget sources

nuget.org kaynak URL'sinin olduğunu https://api.nuget.org/v3/index.jsonunutmayın.

packageSources

Bilinen tüm paket kaynaklarını listeler. Sipariş, geri yükleme işlemleri sırasında ve PackageReference biçimini kullanan herhangi bir projede yoksayılır. NuGet, kullanarak projelerle yapılan yükleme ve güncelleştirme işlemleri için kaynakların sırasını dikkate alır packages.config.

XML Özniteliği Purpose
Anahtar (paket kaynağına atanacak ad)
Value Paket kaynağının yolu veya URL'si.
Protocolversion Kullanılacak NuGet sunucu protokolü sürümü. Geçerli sürüm "3". Ile biten .json bir paket kaynağı URL'sine işaret etmediğinde varsayılan olarak "2" sürümü kullanılır . https://api.nuget.org/v3/index.json NuGet 3.0+ ile desteklenir. Sürüm 3 protokolü hakkında daha fazla bilgi için bkz . NuGet Server API'si .
allowInsecure Bağlan ions Yanlış olduğunda veya belirtilmediğinde, kaynak https yerine http kullandığında NuGet bir uyarı yayar. Bu kaynakla iletişimin hiçbir zaman kesme saldırıları riski altında olmayacaklarından eminseniz, uyarıyı engellemek için değeri true olarak ayarlayabilirsiniz. NuGet 6.8+ ile desteklenir.

Örnek:

<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>

Not

CLI kullanırken, NuGet.config içinde tanımlanan öğesini geçersiz kılmak için bir RestoreSources MSBuild özelliğini veya --source(.NET CLI) | -Source(NuGet CLI) ifade edebilirsiniz.<packageSources>

İpucu

Belirli bir düğüm için mevcut olduğunda <clear /> , NuGet söz konusu düğüm için önceden tanımlanmış yapılandırma değerlerini yoksayar. Ayarların nasıl uygulandığı hakkında daha fazla bilgi edinin.

packageSourceCredentials

Genellikle ile -username belirtilen ve ile nuget sourcesanahtarlar olan kaynaklar için kullanıcı adlarını ve -password parolaları depolar. Seçenek de kullanılmadığı sürece -storepasswordincleartext parolalar varsayılan olarak şifrelenir. İsteğe bağlı olarak, anahtarla -validauthenticationtypes geçerli kimlik doğrulama türleri belirtilebilir.

Anahtar Değer
username Düz metin olarak kaynağın kullanıcı adı. Not: Ortam değişkenleri gelişmiş güvenlik için kullanılabilir.
password Kaynak için şifrelenmiş parola. Şifrelenmiş parolalar yalnızca Windows'ta desteklenir ve yalnızca aynı makinede ve özgün şifrelemeyle aynı kullanıcı aracılığıyla kullanıldığında şifresi çözülebilir.
cleartextpassword Kaynağın şifrelenmemiş parolası. Not: Ortam değişkenleri gelişmiş güvenlik için kullanılabilir.
validauthenticationtypes Bu kaynak için geçerli kimlik doğrulama türlerinin virgülle ayrılmış listesi. Sunucu NTLM veya Negotiate tanıtıyorsa bunu basic olarak ayarlayın ve örneğin şirket içi Azure DevOps Server ile PAT kullanırken kimlik bilgilerinizin Temel mekanizma kullanılarak gönderilmesi gerekir. Diğer geçerli değerler , kerberos, ntlmve digestdeğerlerini içerirnegotiate, ancak bu değerlerin kullanışlı olma olasılığı düşüktür.

Uyarı

Parolaları düz metinde depolamak kesinlikle önerilmez. Şifrelenmiş parolaların yalnızca Windows'ta desteklendiğini lütfen unutmayın. Ayrıca, şifreleri yalnızca aynı makinede ve bunları ilk şifreleyen kullanıcı tarafından kullanıldığında çözülebilir. Kimlik bilgilerini güvenli bir şekilde yönetme hakkında daha fazla bilgi için özel akışlardan paketleri kullanmak için en iyi güvenlik yöntemlerine bakın.

İpucu

"Parametre yanlış" hata iletisi için password şifrelenmemiş bir parola geçirilirse.

Örnek:

Yapılandırma dosyasında öğesi, <packageSourceCredentials> geçerli her kaynak adı için alt düğümler içerir (addaki boşluklar ile _x0020_değiştirilir). Diğer bir ifadeyle, "Contoso" ve "Test Kaynağı" adlı kaynaklar için yapılandırma dosyası şifrelenmiş parolalar kullanılırken aşağıdakileri içerir:

<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>

Ayrıca geçerli kimlik doğrulama yöntemleri de sağlanabilir.

<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>

Bir ortam değişkeninde depolanan şifrelenmemiş parolalar kullanılırken:

<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>

Şifrelenmemiş parolalar kullanılırken:

Uyarı

Parolaları düz metinde depolamak kesinlikle önerilmez.

<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

API anahtarı kimlik doğrulamasını kullanan kaynakların anahtarlarını komutuyla nuget setapikeyayarlandığı gibi depolar.

Anahtar Değer
(kaynak URL) Şifrelenmiş API anahtarı.

Örnek:

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

disabledPackageSources

Şu anda devre dışı bırakılmış kaynaklar belirlendi. Boş olabilir. Bu bölümde belirli kaynaklar devre dışı bırakılmadığı sürece, bunlar etkinleştirilir.

Anahtar Değer
(kaynak adı) Kaynağın devre dışı bırakılıp bırakılmadığını gösteren boole değeri.

Örnek:

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

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

Yukarıdaki örnekte paket kaynağı Contoso devre dışıdır ve paketleri indirmek veya yüklemek için kullanılmaz.

activePackageSource

(yalnızca 2.x; 3.x+'ta kullanım dışı)

Geçerli etkin kaynağı tanımlar veya tüm kaynakların toplamını gösterir.

Anahtar Değer
(kaynak adı) veya All Anahtar bir kaynağın adıysa, değer kaynak yolu veya URL'dir. ise All, değeri başka şekilde devre dışı bırakılmayan tüm paket kaynaklarını birleştirmek için olmalıdır (Aggregate source) .

Örnek:

<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 bölümü

Yükleme veya geri yükleme sırasında pakete izin vermek için kullanılan güvenilir imzalayanları depolar. Kullanıcı olarak ayarlandığında signatureValidationModerequirebu liste boş olamaz.

Bu bölüm komutuyla nuget trusted-signersgüncelleştirilebilir.

Şema:

Güvenilir bir imzalayan, belirli bir imzalayanı certificate tanımlayan tüm sertifikaları listeleyen bir öğe koleksiyonuna sahiptir. Güvenilir imzalayan bir veya AuthorRepositoryolabilir.

Güvenilir bir depo ayrıca depo için öğesini serviceIndex de belirtir (geçerli https bir uri olmalıdır) ve isteğe bağlı olarak, söz konusu depodan daha fazla güvenen kişiyi kısıtlamak için noktalı virgülle ayrılmış listesini owners belirtebilir.

Sertifika parmak izi için kullanılan desteklenen karma algoritmalar ve SHA384SHA512şeklindedirSHA256.

certificate belirtilen sertifikanın, imza doğrulamasının bir parçası olarak true sertifika zincirini oluştururken güvenilmeyen bir köke zincirlemesine izin verildiğini belirtirseallowUntrustedRoot.

Örnek:

<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 bölümü

(3,5+) Paket geri dönüş klasörlerinde bulunursa hiçbir iş yapılmaması için paketleri önceden yüklemenin bir yolunu sağlar. Geri dönüş paketi klasörleri, genel paket klasörüyle tam olarak aynı klasöre ve dosya yapısına sahiptir: .nupkg mevcut ve tüm dosyalar ayıklanır.

Bu yapılandırmanın arama mantığı:

  • Paketin/sürümün zaten indirilip indirilmediğini görmek için genel paket klasörüne bakın.

  • Paket/sürüm eşleşmesi için geri dönüş klasörlerine bakın.

Aramalardan biri başarılı olursa indirme gerekmez.

Eşleşme bulunamazsa NuGet dosya kaynaklarını ve ardından http kaynaklarını denetler ve ardından paketleri indirir.

Anahtar Değer
(geri dönüş klasörünün adı) Geri dönüş klasörünün yolu.

Örnek:

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

Paket kaynağı eşleme bölümü

bölümü, packageSourceMapping NuGet paket işlemlerinin bir paket kimliğinin nereden indirileceğini belirlemesine yardımcı olan ayrıntıları içerir.

Bu bölüm şu anda yalnızca el ile yönetilebilir.

Bir packageSourceMapping bölüm yalnızca bölümler içerebilir packageSource .

packageSource

Bölümün packageSourceMapping alt bölümü. NuGet'in ilgilendiğiniz paketi indirmek için kaynağın dikkate alınması gerekip gerekmediğini belirlemesine yardımcı olacak bir eşleme içerir.

Anahtar
bölümünde bildirilen paket kaynağının packageSources adı. Anahtar, paket kaynağının anahtarıyla tam olarak eşleşmelidir.

altındaki packageSourcepackageSourceMapping bölümler tarafından keybenzersiz olarak tanımlanır.

paket

package bölümün packageSource bir parçasıdır.

Desen
Paket Kaynağı eşlemesinin söz dizimi tarafından tanımlanan bir desen.

Örnek:

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

packageManagement bölümü

Packages.config veya PackageReference varsayılan paket yönetimi biçimini ayarlar. SDK stilindeki projeler her zaman PackageReference kullanır.

Anahtar Değer
format Varsayılan paket yönetimi biçimini gösteren Boole değeri. ise 1, biçimi PackageReference şeklindedir. ise0, format packages.config şeklindedir.
devre dışı İlk paket yüklemesinde varsayılan paket biçimini seçme isteminin gösterilip gösterilmeyeceğini gösteren Boole değeri. False istemi gizler.

Örnek:

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

İpucu

Belirli bir düğüm için mevcut olduğunda <clear /> , NuGet söz konusu düğüm için önceden tanımlanmış yapılandırma değerlerini yoksayar. Ayarların nasıl uygulandığı hakkında daha fazla bilgi edinin.

Ortam değişkenlerini kullanma

Çalışma zamanında ayarları uygulamak için değerlerde nuget.config (NuGet 3.4+) ortam değişkenlerini kullanabilirsiniz.

Örneğin, Windows'daki HOME ortam değişkeni olarak c:\users\usernameayarlanırsa, yapılandırma dosyasındaki değeri %HOME%\NuGetRepository olarak c:\users\username\NuGetRepositoryçözümlanır.

Mac/Linux'ta bile Windows stili ortam değişkenlerini (%ile başlar ve biter) kullanmanız gerekir. Yapılandırma dosyasında olması $HOME/NuGetRepository çözümlenmez. Mac/Linux'ta değeri %HOME%/NuGetRepository olarak /home/myStuff/NuGetRepositoryçözümlenir.

Ortam değişkeni bulunamazsa NuGet, yapılandırma dosyasındaki değişmez değeri kullanır. Örneğin %MY_UNDEFINED_VAR%/NuGetRepository , şu şekilde çözülecektir: path/to/current_working_dir/$MY_UNDEFINED_VAR/NuGetRepository

Aşağıdaki tabloda NuGet.Config dosyaları için ortam değişkeni söz dizimi ve yol ayırıcı desteği gösterilmektedir.

NuGet.Config ortam değişkeni desteği

Sözdizimi Dir ayırıcısı Windows nuget.exe Windows dotnet.exe Mac nuget.exe (Mono olarak) Mac dotnet.exe
%MY_VAR% / Yes Evet Evet Evet
%MY_VAR% \ Evet Evet Hayı Hayı
$MY_VAR / Hayı Hayı Hayı Hayı
$MY_VAR \ Hayı Hayı Hayı Hayır

Örnek yapılandırma dosyası

Aşağıda, isteğe bağlı olanlar dahil olmak üzere bir dizi ayarı gösteren örnek nuget.config bir dosya verilmiştir:

<?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>