在 Visual Studio 中未定义 UNITY_EDITOR

Posted

技术标签:

【中文标题】在 Visual Studio 中未定义 UNITY_EDITOR【英文标题】:UNITY_EDITOR undefined in Visual Studio 【发布时间】:2022-01-12 03:36:03 【问题描述】:

我正在从 Unity 编辑器中调试一些以 #if UNITY_EDITOR 开头的代码,但是尽管我通过 Unity 编辑器运行 Visual Studio,但 UNITY_EDITOR 没有得到定义。我试过了

确保我已将 Visual Studio 设置为调试模式(与发布相比) 脚本定义符号设置,msc 和 csc 解决方案来自这里:http://docs.unity3d.com/Documentation/Manual/PlatformDependentCompilation.html?_ga=2.148389495.1394951635.1638832224-1796620461.1636419298

我还尝试将#define 添加到 Unity 正在生成的项目表中,这不起作用,因为没有打开和调试这些文件的项目文件。而且,我已经重新生成了解决方案文件。我错过了什么?谢谢!

编辑:

一些额外的重要信息:此行为并未发生在 Visual Studio 实例中的所有文件中,只是在我打开的解决方案中的任何 .csproj 中不包含的文件。所以,我的工作区是 .csproj,确实 定义了 UNITY_EDITOR,但我打开的文件来自该项目之外。在这种情况下,我尝试调试的 .cs 文件来自正在运行的包,因此调试器将放入其中,但不会为此包生成 .csproj。

在我看来,这里应该有不同的行为,但我不确定它是什么。 Unity 是否应该为可以调试其 .cs 文件的包创建一个 .csproj 以便您可以在 Visual Studio 中正确查看它们?

所以,最后:在我打开的现有 .csproj 的上下文中,如果我添加一行 <Compile Include="Full\Path\To\File.cs" />,它会按需要工作。 Kludgy,但它适用于我的目的。

【问题讨论】:

【参考方案1】:

在我打开的现有 .csproj 之一中,如果我添加一行,它会按需要工作。 Kludgy,但它适用于我的目的。

【讨论】:

您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。

以上是关于在 Visual Studio 中未定义 UNITY_EDITOR的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 远程调试中未命中断点

Visual Studio 2008 中未显示属性页

错误 LNK2019:Visual Studio 中未解析的外部符号 [重复]

C++ Visual Studio 2008 中未声明的标识符

我可以让 Visual Studio 停止任务代码中未处理的异常吗?

Visual Studio(s-s-rS)中未填充相关参数