stride3d / stride3d/stride

In CodeLibrary project, it's better to let user choose target platform

Open
#1,985 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

Is your feature request related to a problem? Please describe.
My environment does not have Android and iOS SDK, only for windows.
In such environment, restoring error occured in creating new code library project.
here is the error message;

Verbose: Generating MyLibrary...
Verbose: Process dependencies for MyLibrary...
Verbose: Restore NuGet packages for MyLibrary...
[C:\Program Files\dotnet\sdk\6.0.415\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(38,5)]: Error: このプロジェクトをビルドするには、次のワークロードをインストールする必要があります: android
これらのワークロードをインストールするには、次のコマンドを実行します: dotnet workload restore
[C:\Program Files\dotnet\sdk\6.0.415\Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(267,5)]: Error: 資産ファイル 'd:\src\gitrepos\stride-sandbox\MyLibrary\MyLibrary\obj\project.assets.json' が見つかりません。NuGet パッケージの復元を実行して、このファイルを生成してください。
[C:\Program Files\dotnet\sdk\6.0.415\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(38,5)]: Error: Unable to build assembly reference [d:\src\gitrepos\stride-sandbox\MyLibrary\MyLibrary\bin\Debug\net6.0-windows\MyLibrary.dll]
[C:\Program Files\dotnet\sdk\6.0.415\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(38,5)]: Verbose: Loading Assets from Package [MyLibrary.sdpkg]
[C:\Program Files\dotnet\sdk\6.0.415\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(38,5)]: Verbose: Compiling game assemblies...
[C:\Program Files\dotnet\sdk\6.0.415\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.ImportWorkloads.targets(38,5)]: Verbose: Game assemblies compiled...

Describe the solution you'd like
Target platform should be able to choose when creating new code library project.

Describe alternatives you've considered
Set default target platform only net6.0?

Additional context

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing creation of a new CodeLibrary project in a Windows-only environment and review the project-generation and dependency-restore flow. Done means the creator lets the user choose a target platform, or uses a platform that does not require unavailable Android or iOS SDK workloads, and restoration succeeds.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system, game-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.