在我的Unity项目中,我有3个视觉工作室项目:
大会-CSHARP-VS
大会-CSHARP-firstpass-VS
大会-CSHARP编辑器-VS
大会-CSHARP-VS
大会-CSHARP-firstpass-VS
大会-CSHARP编辑器-VS
我的所有脚本似乎最终都在Assembly-CSharp-firstpass-vs中,但我正在使用的导入资产(2dtoolkit)在Assembly-CSharp-vs中有代码…这意味着我无法访问此代码Assembly-CSharp-firstpass-vs,因为没有对Assembly-CSharp-vs的引用(不应该以这种方式引用).
那么,处理这个问题的“正确”方法是什么?我想我要么必须将我的脚本文件移动到Assembly-CSharp-vs,要么我必须将我的资源来源移动到Assembly-CSharp-firstpass-vs ..
解决方法
如果您的脚本最终出现在Assembly-CSharp-firstpass-vs项目中,则意味着在其文件夹层次结构中的某个位置,您有一个名为“Plugins”,“Standard Assets”或“Pro Standard Assets”的文件夹.这会导致您在4个可能的编译步骤中的第一个中编译脚本.因此,Unity会将您的代码文件放在Assembly-CSharp-firstpass-vs项目中.
为了能够从您的代码访问2DToolkit,我建议您移动所有脚本文件,使它们不被放置在任何这些文件夹下.这将使它们被放置在Assembly-CSharp-vs项目中.
如果你正在使用C#,它现在应该工作.但是如果您已经在UnityScript(JavaScript)或Boo中编写了自己的代码,则必须将2DToolkit放在名为Plugins的文件夹中(或者如果您愿意,可以将“Standard Assets”或“Pro Standard Assets”放置),以便在代码之前进行编译.
请查看Unity手册中的Script compilation页面,以获取有关如何控制脚本编译顺序的更深入信息.