Search Issue Tracker

Third Party Issue

Votes

0

Found in [Package]

1.8.0-pre.2

Issue ID

BUR-2070

Regression

Yes

"Failed to resolve assembly" error in the Console when reloading Scripts

Package: Burst

-

How to reproduce:
1. Open the attached user project
2. Press “Reload Scripts“ (Tools > Reload Scripts)

Expected result: Scripts are reloaded with no errors in the Console
Actual result: Scripts are reloaded with the “Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: ‘0Harmony, Version=2.1.1.0, Culture=neutral, PublicKeyToken=null'“ error in the Console

Reproducible with: 1.8.0-pre.2 (2021.3.11f1, 2022.1.18f1, 2022.2.0b9, 2023.1.0a13)
Not reproducible with: 1.7.4, 1.8.0-pre.1 (2021.3.11f1, 2022.1.18f1, 2022.2.0b9, 2023.1.0a13)
Can’t test with: 1.7.4, 1.8.0-pre.1, 1.8.0-pre.2 (2020.3.40f1) (error CS0246: The type or namespace name 'NUnit' could not be found)

Reproduced on: macOS (12.5)

Note: Downgrading and upgrading the Burst package solves the issue, but after restarting Unity, the issue comes back

  1. Resolution Note:

    This error happens because the a precompiled dll in the com.needle.editorpatching package has an assembly name that doesn't match the assembly's filename.

    Specifically, the filename is "EditorPatching_0Harmony.dll", while the assembly name is "0Harmony".

    For reference, here's the package repo where that dll is located: https://github.com/needle-tools/editorpatching/tree/main/package/Editor/Plugins

    Burst doesn't support this scenario. Burst requires that the assembly name matches the filename.

    I suggest contacting the authors of the com.needle.editorpatching package to see if they can recompile the EditorPatching_0Harmony.dll, making the assembly name "EditorPatching_0Harmony".

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.