目录
Jon Martin

Keep dependency DLLs on disk for analysis and align CommandLineParser version (#138)

  • Revert XblDevAccount CommandLineParser 2.9.1 -> 2.2.1

The 2.9.1 bump was incidental to PR #137 (the real driver was the Fody/Costura 6.0.0 upgrade to repair .NET 10 SDK builds). It left XblDevAccount diverged from the other four CommandLine projects (all still on 2.2.1) and switched to a different signing key (PublicKeyToken 5a870481e358d379 vs de6f01bd326f8c32), which is the likely cause of the ApiScan failures on commandline.dll.

Revert only the CommandLineParser reference to 2.2.1, restoring cross-project uniformity and the original signing key. The Fody/Costura 6.0.0 upgrade is kept. Build succeeds under the .NET 10 SDK; source needed no changes.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com Copilot-Session: 290d1232-a331-411b-807a-9b72fb2d4096

  • Set Costura DisableCleanup=true to keep loose dependency DLLs for APIScan

The Costura.Fody 2.0.1 -> 6.0.0 upgrade changed default cleanup behavior: 6.0.0 embeds copy-local dependencies into each tool exe AND deletes the loose DLLs from the build output, whereas 2.0.1 left them in place. The OneBranch v-pack pipeline’’s “Copy files for APIScan” step xcopies each project bin<config> into $(Build.SourcesDirectory)\apiscan, so once the loose DLLs disappeared APIScan could no longer resolve them and failed with “documentationnotfound” on all five CLI exes.

Confirmed from the pipeline logs: the last passing build had CommandLine.dll (and newtonsoft.json, MSAL, devtools, system.*) present in the apiscan folder (58 binaries); the failing build after the upgrade had them stripped (33 binaries).

Setting DisableCleanup=true keeps the loose dependency DLLs in bin (verified for XblDevAccount and GlobalStorage) so they flow into the APIScan folder again, while still embedding them in the exe – runtime behavior and the shipped v-pack (exes only) are unchanged. Applied to all seven Costura projects.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com Copilot-Session: 290d1232-a331-411b-807a-9b72fb2d4096

  • Rename XAch* to XblConfigGateway* to match current endpoint

The XAchEndpoint / xachUri names date from when this pointed at an Xbox achievements endpoint. The endpoint is now the XblConfig gateway (https://xblconfiggateway.xboxservices.com/), so rename for accuracy:

  • ClientSettings.XAchEndpoint -> XblConfigGatewayEndpoint
  • ConfigurationManager.xachUri -> xblConfigGatewayUri

No behavioral change; the URL value and request paths are unchanged.

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com Copilot-Session: 290d1232-a331-411b-807a-9b72fb2d4096


Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com Copilot-Session: 290d1232-a331-411b-807a-9b72fb2d4096

2个月前110次提交

Welcome

Please refer to the official Xbox Live Tools documentation site for further information.

The Microsoft Xbox Live Tooling API provides a way to:

  • Reset a player’s data in test sandboxes. Data includes achievements, leaderboards, stats and title history.
  • Manage a title’s global storage in test sandboxes.
  • Manage a title’s Xbox Live configuration.

To get access to Xbox Live services you must be a managed developer, enrolled in the ID@Xbox program or participating in the Xbox Live Creators Program. To learn more about these programs, please refer to the developer program overview.

Repo Structure

Command Line Executable Usage:

XblDevAccount.exe

This executable is used to signin/out dev accounts and to save the credentials to be used across other Xbox Live executables that require dev credentials.

Usage

signin: This command will pop up UI if needed. The last used account information will be saved for further use across all other executables.

XblDevAccount.exe signin --name xxx 

Success output example:

Developer account {Name} has successfully signed in. 
    ID: {id}
    AccountID: {accountId}
    AccountType: {accountType}
    AccountMoniker: {accountMoniker}
    AccountSource: {accountSource}

signout: This command will delete the last signed in account information, and clear up cached tokens.

XblDevAccount.exe signout

Success output example:

Developer account {Name} has successfully signed out.

XblPlayerDataReset.exe

XblPlayerDataReset is used to reset a player’s data in test sandboxes. Data includes achievements, leaderboards, stats and title history. An individual or group of accounts can be reset by its email address, or to reset an account by XUID, first run XblDevAccount.exe to log in with a Partner Center account.

Usage:

XblPlayerDataReset.exe --scid xxx --sandbox xxx [--xuid xxxx] [--user XXX@xboxtest.com] [--file path/to/file] [--delimiter ,]

Success output example:

Player data has been reset successfully.

Error output example:

An error occurred while resetting player data:
    Leaderboard reset contains error: {errorMessage}

GlobalStorage.exe

GlobalStorage.exe is used to manage title global storage in test sandboxes, before publish to RETAIL. XblDevAccount.exe signin is required to be called at least once before first use.

Usage:

quota: Get title global storage quota information.

GlobalStorage.exe quota –scid xxx --sandbox xxx

Success output example:

Your global storage quota: used bytes {usedBytes}, total bytes {totalBytes}

list: Gets a list of blob meta-data under a given path for the title global storage.

GlobalStorage list --scid xxx --max-items 10 --path path --sandbox xxx

Success output example:

Total 12 items found, Displaying item 0 to 12
        test.txt,       Config,         2
        ...
        tool.zip,       Binary,         1874772

delete: Deletes a blob from title storage.

GlobalStorage delete --scid xxx --blob-path foo\bar\blob.txt --sandbox xxx --type Json

download: Downloads blob data from title storage.

GlobalStorage download --scid xxx --output c:\test.txt --blob-path \text.txt --sandbox xxx --type Json

upload: Uploads blob data to title storage.

GlobalStorage upload --scid xxx --file c:\test.txt --blob-path \text.txt --sandbox xxx --type Json

XblConfig.exe

XblConfig.exe is used to manage Xbox Live configuration data for games developed in Windows Dev Center, also known as Config as Source. See the documentation for usage guidelines.

Contribute Back

Is there a feature missing that you’d like to see, or found a bug that you have a fix for? Or do you have an idea or just interest in helping out in building the library? Let us know and we’d love to work with you. For a good starting point on where we are headed and feature ideas, take a look at our requested features and bugs.

Contribute guidance

Big or small we’d like to take your contributions back to help improve the Xbox Live PowerShell Module for everyone.

Having Trouble?

We’d love to get your review score, whether good or bad, but even more than that, we want to fix your problem. If you submit your issue as a Review, we won’t be able to respond to your problem and ask any follow-up questions that may be necessary. The most efficient way to do that is to open a an issue in our issue tracker.

Xbox Live GitHub projects

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号