Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 部分构建Unity3D编辑器扩展_C#_Unity3d - Fatal编程技术网

C# 部分构建Unity3D编辑器扩展

C# 部分构建Unity3D编辑器扩展,c#,unity3d,C#,Unity3d,tl;dr:我需要让Unity编译我的扩展,尽管在其他非编辑器脚本中存在编译器错误 我为Unity3D做了一个代码生成扩展。 当依赖于生成的代码而以前没有通过扩展生成这些依赖项时,编译器会正确地抛出一个错误,即找不到某些引用 要解决这个问题,您只需生成代码,所有引用都将自动得到解决。但是,由于存在编译问题,扩展本身没有生成,因此没有生成必要的文件,从而使系统处于死锁状态 我试图将扩展名移动到Plugins/Editor/*以满足要求,但是,Unity似乎不支持新的文件夹结构,不会编译我的扩展名,

tl;dr:我需要让Unity编译我的扩展,尽管在其他非编辑器脚本中存在编译器错误

我为Unity3D做了一个代码生成扩展。 当依赖于生成的代码而以前没有通过扩展生成这些依赖项时,编译器会正确地抛出一个错误,即找不到某些引用

要解决这个问题,您只需生成代码,所有引用都将自动得到解决。但是,由于存在编译问题,扩展本身没有生成,因此没有生成必要的文件,从而使系统处于死锁状态

我试图将扩展名移动到
Plugins/Editor/*
以满足要求,但是,Unity似乎不支持新的文件夹结构,不会编译我的扩展名,因此不会生成必要的代码


对于这个特定的问题有什么解决办法吗?

我终于想出了解决问题的办法

将代码移动到单独的DLL中,并将其导入一个特殊文件夹,如
Plugins/Editor


重新开始团结。重新启动很重要,因为Unity似乎只有在编译错误存在的情况下才能在启动时获取新插件

您可以暂时删除/注释掉所有有编译错误的代码,直到编辑器脚本编译完毕,生成缺少的代码。而不是再次取消注释/插入不可编译的代码。这对于较大的项目是不可行的。可能是因为您要求解决问题,而这正是其中之一。只需转到系统文件浏览器中的“项目资源”文件夹,从项目中剪切并粘贴任何无法编译的文件夹,让Unity编译编辑器内容并将文件夹放回原位。