WP8中的Unity插件冲突

时间:2014-10-29 04:16:02

标签: c# .net visual-studio-2013 unity3d

我试图为WP8.1创建一个小插件并将其统一为一致,但是当我将文件添加到Asset / Plugins文件夹时,我得到一个反射异常:

  

内部编译器错误。有关更多信息,请参阅控制台日志。输出是:   未处理的异常:System.Reflection.ReflectionTypeLoadException:无法加载模块中的类。   at(包装器托管到本机)System.Reflection.Assembly:GetTypes(bool)   在System.Reflection.Assembly.GetTypes()[0x00000]中:0   在Mono.CSharp.RootNamespace.ComputeNamespaces(System.Reflection.Assembly assembly,System.Type extensionType)[0x00000] in:0   在Mono.CSharp.RootNamespace.ComputeNamespace(Mono.CSharp.CompilerContext ctx,System.Type extensionType)[0x00000] in:0   在Mono.CSharp.GlobalRootNamespace.ComputeNamespaces(Mono.CSharp.CompilerContext ctx)[0x00000] in:0   在Mono.CSharp.Driver.LoadReferences()[0x00000] in:0   在Mono.CSharp.Driver.Compile()[0x00000]中:0   在Mono.CSharp.Driver.Main(System.String [] args)[0x00000] in:0

该插件只不过是一个包含以下内容的dll

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ClassLibrary1
{
    public class Class1
    {
    }
}

经过多次打破我的动作后,我开始尝试在一个空项目中添加插件,看看它为什么会出现这个问题。当我删除Facebook插件编辑器文件夹时,异常停止了异常 (资产/ Facebook的/编辑)

这很奇怪,因为我似乎无法弄清楚为什么该文件夹会以引发反射异常的方式发生冲突。

在做了一些diggin后,我发现Unity在创建程序集时确实有日志。在其中有编译错误,但我似乎无法理解错误。

  

----- CompilerOutput:-stdout - exitcode:1 - compilationhadfailure:True - outfile:Temp / Assembly-CSharp-Editor.dll   无法加载从D:\ Backup_Projects \ game \ Assets \ Plugins \ LocalSaveFile.dll引用的以下程序集:   汇编:System.Runtime(assemblyref_index = 0)   版本:4.0.10.0   公钥:b03f5f7f11d50a3a   在全局程序集缓存,MONO_PATH环境变量中列出的路径或执行程序集的位置(D:\ Backup_Projects \ game \ Assets \ Plugins)中找不到程序集。

     

无法加载文件或程序集'System.Runtime,Version = 4.0.10.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。

     

程序集D:\ Backup_Projects \ game \ Assets \ Plugins \ LocalSaveFile.dll中缺少方法.ctor,类型为System.Runtime.CompilerServices.RuntimeCompatibilityAttribute   找不到自定义attr构造函数图像:D:\ Backup_Projects \ game \ Assets \ Plugins \ LocalSaveFile.dll mtoken:0x0a00000f   ----- CompilerOutput:-stderr ----------

我想知道它是因为visual studio 2013和.Net框架版本... Unty应该是.2但.net 2013是4.5?

但是,截至目前我非常非常失落。我不知道为什么会出现这种错误。

任何指导都会有很多偏见。

1 个答案:

答案 0 :(得分:0)

您需要制作两个DLL文件。 1为统一编辑器,其他为WP8。 对于统一编辑器,将目标平台设置为.Net 3.5 希望这对你有用。

http://docs.unity3d.com/Manual/wp8-plugins-guide-csharp.html