stride3d / stride3d/stride

Improve the building and use of the AssemblyProcessor dependency

Open
#1,479 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Trying to get some diagnostics information about the changes AssemblyProcessor is making when building projects, I ran into a number of issues.

AssemblyProcessor is checked in built for net6 and netstandard2.0 right now. However, both Stride.Core and Stride.GameStudio use it with the netstandard2.0 TFM. Stride.AssemblyProcessor.sln however only builds for net6. Conditional defines appropriate for the TFM are missing. The project files are very verbose. The test project is broken because it references nunit assemblies (not .nuget) although the tests are written with Xunit. There are warnings about assembly redirection building for netstandard2.0, because the dependencies actually don't support that TFM.

I would like to fix these issues prior to changing AssemblyProcessor even if it is only during local development. To make this work as a non-breaking change, the binaries that are checked in here need to be updated.

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 with Stride.AssemblyProcessor.sln and the project files under deps/AssemblyProcessor, comparing the net6 and netstandard2.0 targets used by Stride.Core and Stride.GameStudio. Inspect the test project’s NUnit references versus its Xunit tests and the netstandard2.0 assembly-redirection warnings. Done means the solution, tests, and both target builds work, and the checked-in binaries are updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.