Share via


.NET SDK és .NET CLI-telemetria

A .NET SDK tartalmaz egy telemetriai funkciót, amely összegyűjti a használati adatokat, és elküldi a Microsoftnak .NET CLI-parancsok használatakor. A használati adatok kivételadatokat tartalmaznak, amikor a .NET CLI összeomlik. A .NET CLI tartalmazza a .NET SDK-t, és olyan igék készlete, amelyek lehetővé teszik a .NET-alkalmazások összeállítását, tesztelését és közzétételét. A telemetriai adatok segítenek a .NET-csapatnak megérteni az eszközök használatát, hogy javíthassák őket. A hibákkal kapcsolatos információk segítenek a csapatnak megoldani a problémákat és kijavítani a hibákat.

Az összegyűjtött adatok összesített közzétételre kerülnek a Creative Commons hozzárendelési licencében. Az összegyűjtött adatok némelyike közzé van téve a .NET CLI telemetriai adatai között.

Hatókör

dotnet két funkcióval rendelkezik: alkalmazások futtatásához és parancssori felületi parancsok futtatásához. A rendszer nem gyűjt telemetriát az alkalmazások az alábbi formátumban való indításakordotnet:

  • dotnet [path-to-app].dll

A telemetria a .NET CLI bármely parancsának használatakor, például:

  • dotnet build
  • dotnet pack
  • dotnet run

A letiltás menete

A .NET SDK telemetriai funkció alapértelmezés szerint engedélyezve van az SDK Microsoft-disztribúciói esetében. A telemetria funkció kikapcsolásához állítsa a DOTNET_CLI_TELEMETRY_OPTOUT környezeti változót a következőre 1 : vagy true.

Sikeres telepítés esetén a .NET SDK telepítője egyetlen telemetriai bejegyzést is küld. A letiltáshoz állítsa be a DOTNET_CLI_TELEMETRY_OPTOUT környezeti változót a .NET SDK telepítése előtt.

Fontos

Ha a telepítő elindítása után szeretne kikapcsolni: zárja be a telepítőt, állítsa be a környezeti változót, majd futtassa újra a telepítőt ezzel az értékkészlettel.

Közzététel

A .NET SDK az alábbihoz hasonló szöveget jelenít meg, amikor először futtatja az egyik .NET CLI-parancsot (például dotnet build). A szöveg kissé eltérhet a futó SDK verziójától függően. Ez az "első futtatás" élmény az, ahogyan a Microsoft értesíti Önt az adatgyűjtésről.

Telemetry
---------
The .NET tools collect usage data in order to help us improve your experience. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Read more about .NET CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry

Az üzenet és a .NET üdvözlőüzenet letiltásához állítsa a környezeti változót a DOTNET_NOLOGO következőre true: . Vegye figyelembe, hogy ez a változó nincs hatással a telemetriai letiltásra.

Adatpontok

A telemetriai funkció nem gyűjt személyes adatokat, például felhasználóneveket vagy e-mail-címeket. Nem ellenőrzi a kódot, és nem nyer ki projektszintű adatokat, például nevet, adattárat vagy szerzőt. Nem nyeri ki az alkalmazások által elért vagy létrehozott adatfájlok tartalmát, az alkalmazások objektumai által foglalt memóriaképeket vagy a vágólap tartalmát. A rendszer biztonságosan továbbítja az adatokat a Microsoft-kiszolgálóknak az Azure Monitor-technológiával, korlátozott hozzáféréssel, és szigorú biztonsági ellenőrzés alatt teszi közzé a biztonságos Azure Storage-rendszerekből.

A személyes adatok védelme fontos számunkra. Ha azt gyanítja, hogy a telemetriai adatok bizalmas adatokat gyűjtenek, vagy az adatokat nem biztonságosan vagy nem megfelelően kezelik, küldjön egy hibát a dotnet/sdk-adattárban , vagy küldjön egy e-mailt dotnet@microsoft.com vizsgálatra.

A telemetria funkció a következő adatokat gyűjti:

SDK-verziók Adatok
Mind Meghívás időbélyege.
Mind A parancs meghívva (például "build"), kivonatolva a 2.1-től kezdve.
Mind A földrajzi hely meghatározásához használt három oktett IP-cím.
Mind Operációs rendszer és verzió.
Mind Futtatókörnyezet azonosítója (RID), amelyen az SDK fut.
Mind .NET SDK-verzió.
Mind Telemetriai profil: nem kötelező érték, amelyet csak explicit felhasználói bejelentkezéssel használnak, és belsőleg használják a Microsoftnál.
>=2,0 Parancsargumentumok és -beállítások: a rendszer több argumentumot és beállítást gyűjt (nem tetszőleges sztringeket). Lásd az összegyűjtött beállításokat. Kivonatolt 2.1.300 után.
>=2,0 Azt jelzi, hogy az SDK egy tárolóban fut-e.
>=2,0 A 2.1-től kezdődő kivonatolt cél-keretrendszerek (az TargetFramework eseményből).
>=2,0 Kivonatolt médiahozzáférés-vezérlési (MAC) cím (SHA256).
>=2,0 Kivonatolt aktuális munkakönyvtár.
>=2,0 Telepítse a sikeres jelentést kivonatolt telepítő exe fájlnévvel.
>=2.1.300 Kernelverzió.
>=2.1.300 Libc kiadás/verzió.
>=3.0.100 A kimenet átirányítása (igaz vagy hamis).
>=3.0.100 Cli/SDK-összeomlás esetén a kivétel típusa és a verem nyomkövetése (csak a CLI/SDK-kód szerepel az elküldött veremkövetésben). További információ: Összeomlási kivétel telemetriai adatai.
>=5.0.100 Buildhez használt kivonatolt TargetFrameworkVersion (MSBuild tulajdonság)
>=5.0.100 Buildhez használt kivonatolt RuntimeIdentifier (MSBuild tulajdonság)
>=5.0.100 Buildhez használt kivonatolt SelfContained (MSBuild tulajdonság)
>=5.0.100 Buildhez használt kivonatolt UseApphost (MSBuild tulajdonság)
>=5.0.100 Buildhez használt kivonatolt OutputType (MSBuild tulajdonság)
>=5.0.201 Buildhez használt kivonatolt PublishReadyToRun (MSBuild tulajdonság)
>=5.0.201 Buildhez használt kivonatolt PublishTrimmed (MSBuild tulajdonság)
>=5.0.201 Buildhez használt kivonatolt PublishSingleFile (MSBuild tulajdonság)
>=5.0.202 Eltelt idő a folyamat kezdetétől a CLI-program fő metódusának beírásáig, a gazdagép és a futtatókörnyezet indításának méréséig.
>=5.0.202 Eltelt idő ahhoz a lépéshez, amely első futtatáskor hozzáadja a .NET-eszközöket az elérési úthoz.
>=5.0.202 Eltelt idő az első használatról szóló értesítés megjelenítéséhez első futtatáskor.
>=5.0.202 Eltelt idő ASP.NET tanúsítvány első futtatásakor történő létrehozásához.
>=5.0.202 Eltelt idő a parancssori felület bemenetének elemzéséhez.
>=6.0.100 Operációs rendszer architektúrája
>=6.0.104 Kivonatolt PublishReadyToRunUseCrossgen2 buildeléshez (MSBuild tulajdonság)
>=6.0.104 Buildhez használt kivonatolt Crossgen2PackVersion (MSBuild tulajdonság)
>=6.0.104 Buildhez használt kivonatolt CompileListCount (MSBuild tulajdonság)
>=6.0.104 Összeállításhoz használt kivonatolt _ReadyToRunCompilationFailures (MSBuild tulajdonság)
>=6.0.300 Ha a parancssori felületet folyamatos integrációs környezetből hívták meg. További információ: Folyamatos integrációészlelés.
>=7.0.100 Buildhez használt kivonatolt PublishAot (MSBuild tulajdonság)
>=7.0.100 Buildhez használt kivonatolt PublishProtocol (MSBuild tulajdonság)

Összegyűjtött beállítások

Egyes parancsok további adatokat küldenek. A parancsok egy részhalmaza elküldi az első argumentumot:

Parancs Első elküldött argumentumadatok
dotnet help <arg> A parancs súgóját lekérdezik.
dotnet new <arg> A sablon neve (kivonatolt).
dotnet add <arg> A szó package vagy reference.
dotnet remove <arg> A szó package vagy reference.
dotnet list <arg> A szó package vagy reference.
dotnet sln <arg> A szó add, listvagy remove.
dotnet nuget <arg> A szó delete, localsvagy push.
dotnet workload <subcommand> <arg> A szó install, update, list, search, uninstall, , és repairrestore a számítási feladat neve (kivonatolt).
dotnet tool <subcommand> <arg> A szó install, update, list, search, uninstallés run a dotnet eszköz neve (kivonatolva).

A parancsok egy részhalmaza a kiválasztott beállításokat küldi el, ha használják őket, az értékükkel együtt:

Lehetőség Parancsok
--verbosity Minden parancs
--language dotnet new
--configuration dotnet build, dotnet clean, dotnet publish, dotnet rundotnet test
--framework dotnet build, dotnet clean, dotnet publish, dotnet rundotnet testdotnet vstest
--runtime dotnet build, dotnet publish
--platform dotnet vstest
--logger dotnet vstest
--sdk-package-version dotnet migrate

--verbosity Kivéve és --sdk-package-version, az összes többi érték kivonatolt kezdve .NET Core 2.1.100 SDK.

Sablonmotor telemetriai adatai

A dotnet new sablon példányosítási parancsa további adatokat gyűjt a Microsoft által készített sablonokhoz a .NET Core 2.1.100 SDK-tól kezdve:

  • --framework
  • --auth

Összeomlási kivétel telemetriai adatai

Ha a .NET CLI/SDK összeomlik, összegyűjti a cli/SDK-kód kivételének nevét és veremkövetkeztetésének nevét. Ezeket az információkat a rendszer a problémák felmérése és a .NET SDK és a parancssori felület minőségének javítása érdekében gyűjti össze. Ez a cikk az összegyűjtött adatokról nyújt tájékoztatást. Tippeket is nyújt arra vonatkozóan, hogy a .NET SDK saját verzióját összeállító felhasználók hogyan kerülhetik el a személyes vagy bizalmas információk véletlen közzétételét.

A .NET CLI csak a CLI-/SDK-kivételekre gyűjt adatokat, az alkalmazásban lévő kivételekre nem. Az összegyűjtött adatok tartalmazzák a kivétel nevét és a verem nyomkövetését. Ez a verem-nyomkövetés CLI/SDK-kódból áll.

Az alábbi példa az összegyűjtött adatok típusait mutatja be:

System.IO.IOException
at System.ConsolePal.WindowsConsoleStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.IO.StreamWriter.Write(Char[] buffer)
at System.IO.TextWriter.WriteLine()
at System.IO.TextWriter.SyncTextWriter.WriteLine()
at Microsoft.DotNet.Cli.Utils.Reporter.WriteLine()
at Microsoft.DotNet.Tools.Run.RunCommand.EnsureProjectIsBuilt()
at Microsoft.DotNet.Tools.Run.RunCommand.Execute()
at Microsoft.DotNet.Tools.Run.RunCommand.Run(String[] args)
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
at Microsoft.DotNet.Cli.Program.Main(String[] args)

Folyamatos integrációészlelés

Annak észlelése érdekében, hogy a .NET CLI folyamatos integrációs környezetben fut-e, a .NET CLI több jól ismert környezeti változó jelenlétét és értékeit mintavételezi, amelyeket a közös CI-szolgáltatók állítottak be.

A környezeti változók teljes listája és az értékükkel végzett munka az alábbiakban látható. Vegye figyelembe, hogy a környezeti változó értéke minden esetben soha nem lesz összegyűjtve, csak logikai jelölő beállítására szolgál.

Változó(k) Szolgáltató Művelet
TF_BUILD Azure Pipelines Logikai érték elemzése
GITHUB_ACTIONS GitHub-műveletek Logikai érték elemzése
APPVEYOR Appveyor Logikai érték elemzése
CI Több/legtöbb Logikai érték elemzése
TRAVIS Travis CI Logikai érték elemzése
CIRCLECI Kör CI Logikai érték elemzése
CODEBUILD_BUILD_ID, AWS_REGION Amazon Web Services CodeBuild Ellenőrizze, hogy mindegyik jelen van-e, és nem null értékű-e
BUILD_ID, BUILD_URL Jenkins Ellenőrizze, hogy mindegyik jelen van-e, és nem null értékű-e
BUILD_ID, PROJECT_ID Google Cloud Build Ellenőrizze, hogy mindegyik jelen van-e, és nem null értékű-e
TEAMCITY_VERSION TeamCity Ellenőrizze, hogy jelen van-e és nem null
JB_SPACE_API_URL JetBrains szóköz Ellenőrizze, hogy jelen van-e és nem null

Kerülje az információk véletlen közzétételét

A .NET-közreműködőknek és bárki másnak, aki az általuk létrehozott .NET SDK egy verzióját futtatja, figyelembe kell vennie az SDK-forráskód elérési útját. Ha egy egyéni hibakeresési buildet használó vagy egyéni buildszimbólumfájlokkal konfigurált .NET SDK használatakor összeomlás történik, a rendszer a buildelési gép SDK-forrásfájljának elérési útját a verem nyomkövetése részeként gyűjti össze, és nem kivonatol.

Emiatt a .NET SDK egyéni buildjei nem lehetnek olyan könyvtárakban, amelyek elérési útjai személyes vagy bizalmas információkat fednek fel.

Lásd még