【发布时间】: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,但它适用于我的目的。
【问题讨论】:
标签: visual-studio debugging visual-studio-debugging