【问题标题】:How to create a managed plugin for Unity with Visual Studio Community for Mac如何使用 Visual Studio Community for Mac 为 Unity 创建托管插件
【发布时间】:2018-11-23 04:50:32
【问题描述】:

我将使用 Visual Studio Community for Mac(7.6.11 build 9)为 Unity (2018.2) 创建我的第一个托管插件

我已阅读 documentation,但我认为在 Visual Studio Community for Mac 上不应该遵循这些分步说明。

正如您在下面的屏幕截图中所见,我使用每个可用的库模板创建了多个项目。

所有这些都成功编译为与 Unity 不兼容的 .NET 框架版本的 DLL。

我可以更改 .NET 框架版本以匹配 Unity 3.5 的唯一项目是基于 Other > .NET > Library 的项目。

一切正常,但我想知道假设、过程和最终结果是否正确。请告诉我好吗?

【问题讨论】:

  • 嗨@Adriano Di Giovanni,我在统一项目中导入DLL文件时遇到了同样的问题。你找到解决办法了吗?
  • 您可以按照我在问题中概述的步骤进行操作。我想通过在这里询问来验证的假设是正确的。

标签: visual-studio unity3d


【解决方案1】:

我不知道“类”和“类库”选项之间的区别,但您应该使用“类库”选项。这不是这个答案的重点。

您尚未解决的两个未来问题:

1。引用 Unity 的 API。

如果您必须在您的插件中使用任何 Unity 库或 API,例如 Vector3,您需要将 Unity 的 UnityEngine.dll 添加到您的库设置中。如果不这样做,就会出现运行时异常。

转到项目 --> 添加参考 ---> 浏览 ---> 浏览按钮 然后选择<UnityInstallationDirecory>\Editor\Data\Managed\UnityEngine.dll。您现在可以构建您的托管插件。由于您使用的是 Mac,因此此路径在您的操作系统上有所不同。在 Mac 上,这可能是 /Applications/Unity/Unity.app/Contents/Frameworks/Managed/UnityEngine.dll。您只需找到UnityEngine.dll 所在的位置。

2。不可见的堆栈跟踪

使用您当前的设置,如果您的托管插件出现错误,堆栈跟踪将不存在。您将没有文件名和行号,这使得调试您的插件代码非常困难。

当您生成项目时,Visual Studio 会生成一个 PDB 文件而不是 MDB 文件。 Unity 不能直接使用这个。您必须将 PDB 文件转换为 MDB 文件。

从命令行运行:

<UnityInstallationDirecory>\Data\MonoBleedingEdge\lib\mono\4.5\pdb2mdb.exe UnmanagedPlugin.dll

同样,Mac 上的路径可能不同,您只需找到将 PDB 文件转换为 MDB 文件的“pdb2mdb.exe”即可。

之后,将 MDB 和 dll 文件复制到 Unity 项目中的“Assets”文件夹中。

【讨论】:

  • 我正在尝试根据您在输出下方得到的答案将 PDB 文件转换为 MDB 文件。 imac$ pdb2mdb TestWaterMark.dll 单声道 pdb 到 mdb 调试符号存储转换器 用法:pdb2mdb 程序集
猜你喜欢
  • 1970-01-01
  • 2017-08-13
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多