.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 , list vagy remove . |
dotnet nuget <arg> |
A szó delete , locals vagy push . |
dotnet workload <subcommand> <arg> |
A szó install , update , list , search , uninstall , , és repair restore 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 run dotnet test |
--framework |
dotnet build , dotnet clean , dotnet publish , dotnet run dotnet test dotnet 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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: