Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
2
Question by OMG_Lewis · Feb 06, 2020 at 11:52 AM · errordlldots

How to resolve "Multiple Precompiled Assemblies" error

Our project is currently attempting to use DOTS and Grpc, but we are running into some conflicts with the dlls. It appears that the com.unity.collections@0.5.1-preview.11 package includes System.Runtime.CompilerServices.Unsafe.dll, which the Grpc plugin also includes, but at a slightly higher version (4.0.4.1 instead of 4.0.4.0). Since there are now 2 dlls of the same name in the project, this results in this error:

PrecompiledAssemblyException: Multiple precompiled assemblies with the same name System.Runtime.CompilerServices.Unsafe.dll included for the current platform. Only one assembly with the same name is allowed per platform.

If I delete the unsafe dll in the Grpc plugin, the error goes away but Grpc throws an exception at runtime because it can't find the correct version of the dll. Grpc references this dll indirectly through the System.Memory.dll, so as far as I can tell, the only way I can change the version of that dll to match is to recompile Grpc and System.Memory. It doesn't look like there's any way to modify the collections package.

Is there a better way to handle conflicting dlls in Unity? Normal C# apps could use bindingRedirects but those don't seem to be supported.

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

1 Reply

· Add your reply
  • Sort: 
avatar image
3

Answer by OMG_Lewis · Feb 10, 2020 at 05:22 PM

I found a workaround for this; I used ILMerge to merge GRPC and all of it's dependencies into one .dll and made the deps internal. This avoids the error, but does mean that I'm essentially shipping multiple copies of the dlls, and may not be a viable option for all libraries.

Comment
Add comment · Show 4 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image andywatts · Mar 30, 2020 at 10:00 AM 0
Share

You beauty. Thanks for posting.

avatar image andywatts · Mar 31, 2020 at 07:42 PM 0
Share

Being tracked here... https://github.com/grpc/grpc/issues/21908

avatar image OMG_Lewis andywatts · Mar 31, 2020 at 09:41 PM 0
Share

I filed that issue :) That's actually a slightly different problem; the unity grpc package they have references two different versions of the same .dll and only ships with one of them. Even if that's fixed, it'll still conflict with the .dll that unity ships.

The System.$$anonymous$$emory.dll is beco$$anonymous$$g popular for writing more performant C# code, and right now the way Unity handles the references to it essentially prevents any 3rd party libraries from using it.

avatar image marianomdq · Nov 16, 2020 at 04:09 PM 0
Share

The precompiled assemblies issue is really being a very serious problem. Hope Unity finds a quick solution.

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

155 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Reinstall problems 0 Answers

iOs error message using ez replay plugin 1 Answer

Failed to load dll error 3 Answers

Internal Compiler Error, caused by System.Windows.Forms.dll 1 Answer

Error launching unity player.Failed to load unity dll. 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges