JetBrains / JetBrains/resharper-unity
MSB3277 warning when building generated projects
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 1.2k
- Forks
- 142
- PR merge metrics
- No merged PRs in 30d
Description
Building a Unity-generated .csproj directly with the .NET SDK (dotnet build)
emits repeated MSB3277 warnings: a conflict between two versions of
System.Numerics.Vectors (4.0.0.0 vs 4.1.3.0) that MSBuild's assembly-reference
resolution cannot reconcile. The project files are generated by the Rider package
(com.unity.ide.rider), so filing here per the package's documented issue routing.
The warning is cosmetic — it does not affect compilation inside the Unity Editor —
but it produces a lot of noise for anyone building the generated projects with the
.NET CLI / MSBuild outside the Editor (CI, external tooling, etc.).
Environment
- Unity: reproduces across 6000.0 (LTS) through 6000.6
- IDE package:
com.unity.ide.rider3.0.x (generates the .csproj/.sln) - .NET SDK: 10.0.x (used by
dotnet build) - OS: reproduced on both Linux and macOS
To Reproduce
- Open any project in the Unity Editor (6000.x) with
com.unity.ide.rider
installed, and let it generate the project files (Assets → Open C# Project,
or Preferences → External Tools → Regenerate project files). - Ensure a .NET SDK ≥ 10.0 is installed (
dotnet --version). - From the project root, build a generated project directly with the SDK, e.g.:
dotnet build Assembly-CSharp.csproj
(also reproduces withUnityEditor.TestRunner.csproj) - Observe the repeated
MSB3277warnings in the output.
Expected behavior
No MSB3277 assembly-version-conflict warning — the generated project should
reference a single, consistent version of System.Numerics.Vectors.
Actual behavior
Microsoft.Common.CurrentVersion.targets(2437,5): warning MSB3277: Found conflicts between different versions of "System.Numerics.Vectors" that could not be
resolved.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the generated Assembly-CSharp.csproj or UnityEditor.TestRunner.csproj and run dotnet build using the stated SDK versions to confirm MSB3277. Trace project generation through the com.unity.ide.rider package and inspect how System.Numerics.Vectors references are emitted. Done means generated projects build without the warning and reference one consistent assembly version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, unity
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100