Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

[Known Issue] iOSResolver.dll failed to load with Unity 2021年1月11日+ on Mac #441

Closed
Labels
Milestone
@chkuang-g

Description

[REQUIRED] Please fill in the following fields:

  • Unity editor version: Issue occurred with 2021年1月11日, 2021年1月12日 (Works with 2021年1月10日 and 202120)
  • External Dependency Manager version: Tried 1.2.160 and 1.2.165. But version is probably irrelevant here.
  • Source you installed EDM4U: .unitypackage
  • Features in External Dependency Manager in use: iOS Resolver
  • Plugins SDK in use: None
  • Platform you are using the Unity editor on: Mac

[REQUIRED] Please describe the issue here:

(Please list the full steps to reproduce the issue. Include device logs, Unity logs, and stack traces if available.)

Please answer the following, if applicable:

What's the issue repro rate? 100%, even with empty project.

Issue Statement

iOS Resolver library cannot be loaded in Unity 2021年1月11日 and 2021年1月12日. (Did not test 202120 beta yet). It can be loaded properly with Unity 2021年1月10日.

After importing EDM4U, Unity logs an error like:

Assembly 'Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll' will not be loaded due to errors:
Assembly name 'Google.IOSResolver' does not match file name 'Google.IOSResolver_v1.2.165'

And iOS Resolver is not loaded, verified through the absence of Assets > External Dependency Manager > iOS Resolver menu item. The odd thing is that all the other libraries, ex. Android Resolver, Version Handler, are loaded with no issue.

The same issue has been reported on Unity forum here

This seems to be a regression introduced in Unity 2021年1月11日 as documented in the release note.

  • Scripting: Editor logs an Error whenever the filename of an assembly does not match its name. (1109539)

Workaround

Since the issue is the mismatched library name, a simple workaround is to rename the dll file.

For instance,

  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll
  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.meta to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll.meta
  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.mdb to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll.mdb
  • Rename Assets/ExternalDependencyManager/Editor/Google.IOSResolver_v1.2.165.dll.mdb.meta to Assets/ExternalDependencyManager/Editor/Google.IOSResolver.dll.mdb.meta

After the renaming, Unity should be able to load iOS Resolver library properly.

However, there is a caveat: After renaming, Version Handler will no longer able to manage those files. That is, when a newer version of EDM4U is installed, Version Handler will not be able to automatically remove the older version of iOS Resolver.

The workaround is to remove the entire folder of Assets/ExternalDependencyManager/ folder before upgrading.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      AltStyle によって変換されたページ (->オリジナル) /