Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A .NET SDK tartalmaz egy telemetriai funkciót, amely összegyűjti a használati adatokat, és elküldi azokat 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 adatokat összesítve a Creative Commons Nevezd meg! licenc alatt teszik közzé. Az összegyűjtött adatok némelyike közzé van téve a .NET CLI telemetriai adatok.
Hatókör
dotnet két funkcióval rendelkezik: alkalmazások futtatásához és parancssori felületi parancsok végrehajtásához. A telemetriai nem gyűjti össze, ha dotnet használatával indít el egy alkalmazást a következő formátumban:
dotnet [path-to-app].dll
A telemetria gyűjtésre kerül bármelyik .NET CLI-parancshasználatakor, például:
dotnet builddotnet packdotnet run
Hogyan lehet leiratkozni
A .NET SDK telemetriai funkció alapértelmezés szerint engedélyezve van az SDK Microsoft-disztribúciói esetében. A telemetriai funkció kikapcsolásához állítsa a DOTNET_CLI_TELEMETRY_OPTOUT környezeti változót 1 vagy trueértékre.
A .NET SDK telepítője egyetlen telemetriai bejegyzést küld sikeres telepítés esetén. A leiratkozá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ábbi kimenethez 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 DOTNET_NOLOGO környezeti változót trueértékre. Ez a változó nincs hatással a telemetriai letiltásra.
Megjegyzés:
Kompatibilitástörő változás: A telemetriai üzenetek viselkedése megváltozott a .NET SDK legutóbbi verzióiban. További információért lásd: a dotnet CLI parancsok a nem parancsokra vonatkozó adatokat az stderr-be naplózzák.
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 elfoglalt memóriaszeletek tartalmát vagy a vágólap tartalmát. Az adatok biztonságosan kerülnek a Microsoft-kiszolgálókra az Azure Monitor technológiával. Az adatok korlátozott hozzáféréssel rendelkeznek, és szigorú biztonsági ellenőrzés alatt jelennek meg a biztonságos Azure Storage-rendszerekből .
Az adatvédelem fontos a Microsoft számára. Ha azt gyanítja, hogy a telemetriai adatok bizalmas adatokat gyűjtenek, vagy az adatok nem biztonságosan vagy nem megfelelően vannak kezelve, küldjön egy hibát a dotnet/sdk-adattárban .
Az összegyűjtött adatvédelmi és személyes adatokkal kapcsolatos további információkért tekintse meg a Microsoft adatvédelmi nyilatkozatát.
Az alábbi lapok az SDK-verzió által rögzített telemetriai adatokat jelenítik meg:
-
Az SDK 10.0.100-es és újabb verziója:
- Kivonatolt projektazonosító a
dotnet runszámára. - Fájlalapú vagy projektalapú
dotnet runalkalmazástípus. - Az indítási profil neve, ha meg van adva a következőhöz:
dotnet run. - Meg van-e adva indítási profil a következőhöz
dotnet run: . - Az indítási beállítások konfigurációs modellje (ha van ilyen) a következőhöz
dotnet run: . - A használt
dotnet runSDK-k száma. - A PackageReferences száma a következőhöz
dotnet run: . - ProjectReferences száma a következőhöz
dotnet run: . - Fájlalapú alkalmazások esetén a további tulajdonságok száma
dotnet run. - Azt jelzi, hogy az MSBuild-et fájlalapú alkalmazásokhoz használták-e
dotnet run. - Jelzi, hogy használták-e a Roslyn fordítót fájlalapú alkalmazásokhoz a következővel
dotnet run. - Az észlelt LLM-ügynök neve, ha a parancssori felületet egy LLM-ügynökről hívták meg. További információ: LLM-észlelés.
- Rögzíti az
global.jsonállapotot a parancsok meghívásakor. Az állapot az alábbi értékek egyike: not_found, érvényes, invalid_json vagy invalid_data. - Mely MSBuild tevékenység-előállítók használhatók tevékenységek betöltésére és futtatására (beleértve a beágyazott C#-feladatokat, a többszálú és a folyamaton kívüli tevékenységeket), valamint azt, hogy hány feladatot hajtanak végre.
- A TaskHostsban végrehajtott MSBuild feladatok száma a TaskHostsban nem végrehajtott tevékenységekhez képest.
- Kivonatolt projektazonosító a
Ö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 add, listvagy removeszó. |
dotnet nuget <arg> |
A delete, localsvagy pushszó. |
dotnet workload <subcommand> <arg> |
A install, update, list, search, uninstall, repair, restore és a számítási feladat neve (kivonatolt). |
dotnet tool <subcommand> <arg> |
A szó install, update, list, search, uninstall, run és a dotnet eszköznév (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:
| Opció | 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 |
Ha az SDK nem old fel egy beépített parancsot, a parancsot sikeresen feloldó bármely parancsfeloldó elküldi a parancs nevének kivonatát a parancsfeloldó típusának nevével együtt.
A .NET Core 2.1.100 SDK-tól kezdődően az SDK minden értéket kivonatolt, kivéve --verbosity és --sdk-package-version.
Sablonmotor telemetriai adatai
A .NET Core 2.1.100 SDK-tól kezdve a dotnet new sablon példányosítási parancsa további adatokat gyűjt a Microsoft által készített sablonokhoz:
--framework--auth
Dotnet run telemetry - a parancs a telemetriai adatok futtatására vagy ellenőrzésére használatos a .NET környezetben.
A .NET SDK 10.0.100-tól kezdve a dotnet run parancs funkcióalapú telemetriát gyűjt a fájlalapú alkalmazások fejlesztésének és használatának elősegítése érdekében.
Telemetriai adatok az összes dotnet run végrehajtáshoz:
- Alkalmazás típusa (fájlalapú vagy projektalapú)
- Kivonatolt projekt vagy fájlazonosító
- Használt SDK-k száma
- CsomagReferenciák száma
- A ProjectReferences száma
- A profilhasználat módja (hogy
--launch-profilevagy--no-launch-profilelett használva) - Vajon az indítási profil alapértelmezett profil-e?
- Indítási beállítások modellje alkalmazva, ha van ilyen
Csak fájlalapú alkalmazások telemetriai adatai:
- További tulajdonságok száma (például
#:propertyirányelvek) - Azt jelzi, hogy az MSBuild-et használták-e az építkezéshez
- Hogy vajon a Roslyn fordítót közvetlenül használták-e
Összeomlási kivétel telemetriai adatai
Ha a .NET CLI vagy az SDK összeomlik, a parancssori felület vagy az SDK-kód kivételének nevét és veremkövetkeztetésének nevét gyűjti össze. A .NET CLI összegyűjti ezeket az információkat a problémák felméréséhez és a .NET SDK és a parancssori felület minőségének javításához.
A .NET CLI csak a parancssori felület vagy az SDK-kivételek adatait gyűjti, az alkalmazásban lévő kivételeket 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 a parancssori rendszer vagy az SDK kódjából származik.
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)
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 veremnyomkövetés részeként gyűjti össze, és nem kerül kivonatolásra.
Emiatt a .NET SDK egyéni buildjei nem helyezhetők el olyan könyvtárakban, amelyek elérési útjai személyes vagy bizalmas információkat fednek fel.
Folyamatos integráció felismerés
Annak észleléséhez, hogy a .NET CLI folyamatos integrációs környezetben fut-e, a .NET CLI számos jól ismert környezeti változó jelenlétét és értékeit ellenőrzi, amelyeket a közös CI-szolgáltatók állítottak be.
Az alábbi lista a környezeti változókat és a .NET CLI értékeinek használatát mutatja be. A .NET CLI nem gyűjti össze a környezeti változók értékét; csak az értéket használja logikai jelölő beállításához.
| Változó(k) | Szolgáltató | Akció |
|---|---|---|
TF_BUILD |
Azure Pipelines | Logikai érték elemzése |
GITHUB_ACTIONS |
GitHub Actions | 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 |
LLM-észlelés
Annak észleléséhez, hogy a .NET CLI egy LLM-ügynök környezetében fut-e, a .NET CLI ellenőrzi az LLM-ügynökök és az AI-kódolási asszisztensek által beállított számos környezeti változó jelenlétét és értékeit.
Az alábbi táblázat az ügynök nevét, az észleléshez használt környezeti változót és a jelentett ügynöktípus értékét mutatja. Ezeknek a környezeti változóknak a tényleges értékeit nem gyűjti össze a rendszer– csak az ügynök típusának azonosítására használják őket.
| LLM-ügynök | Variable | Érték |
|---|---|---|
| GitHub Copilot | GITHUB_COPILOT_CLI_MODE |
"Társpilóta" |
| Claude Code | CLAUDECODE |
claude |
| Cursor | CURSOR_EDITOR |
"kurzor" |
| Google Gemini | GEMINI_CLI |
"gemini" |
Ha a .NET CLI több ügynököt észlel, összefűzi a különböző ügynökértékeket egy vesszővel a végső érték létrehozásához.
Lásd még:
- .NET CLI-telemetria adatok
- telemetriai referenciaforrás (dotnet/sdk-adattár)