JetBrains / JetBrains/resharper-unity

MSB3277 warning when building generated projects

Open
#2,502 3 comments 0 reactions 0 assignees View on GitHub

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.rider 3.0.x (generates the .csproj/.sln)
  • .NET SDK: 10.0.x (used by dotnet build)
  • OS: reproduced on both Linux and macOS

To Reproduce

  1. 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).
  2. Ensure a .NET SDK ≥ 10.0 is installed (dotnet --version).
  3. From the project root, build a generated project directly with the SDK, e.g.:
    dotnet build Assembly-CSharp.csproj
    (also reproduces with UnityEditor.TestRunner.csproj)
  4. Observe the repeated MSB3277 warnings 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

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 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.