- Home /
dll error when build
Hello
I am doing a project for school course credit. Teacher gave us a dll(so i don't have source code only dll) file with the engine (weather, temperature, location, etc). I drop this file into assets/scripts and make engine.cs file. When i hit play button everything working properly. But when i build unity project i gets such errors:
ArgumentException: The Assembly Microsoft.VisualBasic is referenced by PodzespolyGazowni. But the dll is not allowed to be included or could not be found. UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/AssemblyHelper.cs:52) UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List`1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary`2 cache) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/AssemblyHelper.cs:55) UnityEditor.AssemblyHelper.FindAssembliesReferencedBy (System.String[] paths, System.String[] foldersToSearch) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/AssemblyHelper.cs:87) UnityEditor.HostView:OnGUI()
Error building Player: Extracting referenced dlls failed. UnityEditor.HostView:OnGUI()
Exception: Error building Player: Extracting referenced dlls failed. UnityEditor.BuildPlayerWindow.BuildPlayerWithDefaultSettings (Boolean askForBuildLocation, BuildOptions forceOptions) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:367) UnityEditor.BuildPlayerWindow.GUIBuildButtons (Boolean enableBuildButton, Boolean enableBuildAndRunButton, Boolean canInstallInBuildFolder) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:972) UnityEditor.BuildPlayerWindow.ShowBuildTargetSettings () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:953) UnityEditor.BuildPlayerWindow.OnGUI () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/BuildPlayerWindow.cs:726) System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation. System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:225) UnityEditor.HostView.Invoke (System.String methodName) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:218) UnityEditor.HostView.OnGUI () (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/GUI/DockArea.cs:119)
turns out Edit > Project Settings > Player > Optimization change compatibility from ".net 2.0 subset" to ".net 2.0" does not work
copy dll into assest/Plugins does not work
restart unity and build without hiting play does not work
restart computer and build does not work
How to solve this errors?
Answer by rutter · May 13, 2012 at 01:55 AM
As far as I can tell, this is the only part of that error message that really matters:
ArgumentException: The Assembly Microsoft.VisualBasic is referenced by PodzespolyGazowni. But the dll is not allowed to be included or could not be found.
That's pretty clear language. I haven't run into that problem, personally, but here are some threads which might relate:
http://answers.unity3d.com/questions/51777/argumentexception-the-assembly-systemdeployment-is.html
http://answers.unity3d.com/questions/52190/cant-build-error-dll-is-not-allowed-to-be-included.html
http://answers.unity3d.com/questions/40306/cant-export-game.html
http://answers.unity3d.com/questions/30881/compiling-error-with-mysql-pls-help.html
http://answers.unity3d.com/questions/32548/problem-when-building-with-web-player.html
The most common suggestion seems to be checking your player settings; Unity sometimes compiles with a ".Net 2.0 subset", which is smaller but includes less stuff. There is an option detailed on that manual page which allows you to change this setting.
Answer by solmorth · May 13, 2012 at 10:16 PM
I read this Threads before I create my question. change compatibility from ".net 2.0 subset" to ".net 2.0" does not work
Found one more forum thread that might help: http://forum.unity3d.com/threads/105854-Compile-Unity-project-with-Visual-Basic-dll
Answer by solmorth · May 14, 2012 at 11:49 AM
I download Microsoft.VisualBasic.dll and pasted it into assest folder. Naw everything works:)
Answer by treknib · Sep 08, 2014 at 01:24 AM
I had the same problem with my own DLL's written in VB.net. I am using Unity 4.5.3f3 and solved it with the following:
Downloaded MONO 3.2.3 at http://www.mono-project.com/download/#download-win
Installed MONO
Copied the file C:\Program Files (x86)\Mono-3.2.3\lib\mono\gac\Microsoft.VisualBasic\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll into the plugin folder of my unity project ("Assets\Plugins\X86" in my case)
Build&Run ... perfectly worked.