C# 部分构建Unity3D编辑器扩展
tl;dr:我需要让Unity编译我的扩展,尽管在其他非编辑器脚本中存在编译器错误 我为Unity3D做了一个代码生成扩展。 当依赖于生成的代码而以前没有通过扩展生成这些依赖项时,编译器会正确地抛出一个错误,即找不到某些引用 要解决这个问题,您只需生成代码,所有引用都将自动得到解决。但是,由于存在编译问题,扩展本身没有生成,因此没有生成必要的文件,从而使系统处于死锁状态 我试图将扩展名移动到C# 部分构建Unity3D编辑器扩展,c#,unity3d,C#,Unity3d,tl;dr:我需要让Unity编译我的扩展,尽管在其他非编辑器脚本中存在编译器错误 我为Unity3D做了一个代码生成扩展。 当依赖于生成的代码而以前没有通过扩展生成这些依赖项时,编译器会正确地抛出一个错误,即找不到某些引用 要解决这个问题,您只需生成代码,所有引用都将自动得到解决。但是,由于存在编译问题,扩展本身没有生成,因此没有生成必要的文件,从而使系统处于死锁状态 我试图将扩展名移动到Plugins/Editor/*以满足要求,但是,Unity似乎不支持新的文件夹结构,不会编译我的扩展名,
Plugins/Editor/*
以满足要求,但是,Unity似乎不支持新的文件夹结构,不会编译我的扩展名,因此不会生成必要的代码
对于这个特定的问题有什么解决办法吗?我终于想出了解决问题的办法 将代码移动到单独的DLL中,并将其导入一个特殊文件夹,如
Plugins/Editor
重新开始团结。重新启动很重要,因为Unity似乎只有在编译错误存在的情况下才能在启动时获取新插件 您可以暂时删除/注释掉所有有编译错误的代码,直到编辑器脚本编译完毕,生成缺少的代码。而不是再次取消注释/插入不可编译的代码。这对于较大的项目是不可行的。可能是因为您要求解决问题,而这正是其中之一。只需转到系统文件浏览器中的“项目资源”文件夹,从项目中剪切并粘贴任何无法编译的文件夹,让Unity编译编辑器内容并将文件夹放回原位。