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.List1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary2 cache) (at C:/BuildAgent/work/842f9557127e852/Editor/Mono/AssemblyHelper.cs:52)
UnityEditor.AssemblyHelper.AddReferencedAssembliesRecurse (System.String assemblyPath, System.Collections.Generic.List1 alreadyFoundAssemblies, System.String[] allAssemblyPaths, System.String[] foldersToSearch, System.Collections.Generic.Dictionary2 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?

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:

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.

I read this Threads before I create my question. change compatibility from “.net 2.0 subset” to “.net 2.0” does not work

I download Microsoft.VisualBasic.dll and pasted it into assest folder. Naw everything works:)

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:

1.) Downloaded MONO 3.2.3 at Redirecting…

2.) Installed MONO

3.) 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.