【发布时间】:2013-08-29 20:33:57
【问题描述】:
我正在尝试使用 .NET 的 System.Web.Script.Serialization.JavaScriptSerializer 在 MacOS 上使用 MonoDevelop 将 JSON 文件读入 Unity 中的字典。
到目前为止,我已将 System.Web.Extensions 程序集添加到 MonoDevelop 中,这使得它可以很好地构建“Assembly-CSharp”项目。
但是当我回到 Unity 时,它仍然显示错误:错误 CS0234: 名称空间 `System' 中不存在类型或名称空间名称 `Web'。您是否缺少程序集参考?
然后我在网上看到将 DLL 添加到 assets 文件夹的任何位置都可以,所以我在 MonoDevelop 的路径中找到了文件 System.Web.Extensions.dll 的某些版本,它们位于:/Applications/Unity/MonoDevelop.app/Contents/Frameworks/Mono.framework/Versions/2.10.2/lib/mono/gac/System.Web.Extensions
文件有3个不同版本的文件夹:1.0.61025.0__31bf3856ad364e35、3.5.0.0__31bf3856ad364e35和4.0.0.0__31bf3856ad364e35
尝试了所有这些,但没有一个有效,Unity给出了这个错误:
Internal compiler error. See the console log for more information. output was:
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
File name: 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at (wrapper managed-to-native) System.Reflection.Assembly:InternalGetType (System.Reflection.Module,string,bool,bool)
at System.Reflection.Assembly.GetType (System.String name, Boolean throwOnError, Boolean ignoreCase) [0x00000] in <filename unknown>:0
at System.Reflection.Assembly.GetType (System.String name) [0x00000] in <filename unknown>:0
at Mono.CSharp.RootNamespace.GetTypeInAssembly (System.Reflection.Assembly assembly, System.String name) [0x00000] in <filename unknown>:0
at Mono.CSharp.RootNamespace.LookupTypeReflection (Mono.CSharp.CompilerContext ctx, System.String name, Location loc, Boolean must_be_unique) [0x00000] in <filename unknown>:0
at Mono.CSharp.GlobalRootNamespace.LookupTypeReflection (Mono.CSharp.CompilerContext ctx, System.String name, Location loc, Boolean must_be_unique) [0x00000] in <filename unknown>:0
at Mono.CSharp.Namespace.LookupType (Mono.CSharp.CompilerContext ctx, System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.Namespace.Lookup (Mono.CSharp.CompilerContext ctx, System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.TypeManager.CoreLookupType (Mono.CSharp.CompilerContext ctx, System.String ns_name, System.String name, Kind type_kind, Boolean required) [0x00000] in <filename unknown>:0
at Mono.CSharp.TypeManager.InitCoreTypes (Mono.CSharp.CompilerContext ctx) [0x00000] in <filename unknown>:0
at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0
那么,现在呢?
【问题讨论】:
-
自愿将此程序集添加到开源 Mono 项目?
-
统一标签适用于 Microsoft Unity。请不要滥用它。
标签: monodevelop unity3d javascriptserializer