【问题标题】:Unity3D removing project references in MonoDevelopUnity3D 删除 MonoDevelop 中的项目引用
【发布时间】:2013-06-13 13:14:24
【问题描述】:

我正在尝试在我的 Assembly-CSharp-firstpass 项目中使用 Mono.Data.Sqlite。在 MonoDevellop 中,我右键单击项目,编辑引用,并将 Mono.Data.Sqlite 添加到引用中。如果我从 Mono 构建,一切都会顺利进行并且不会产生错误。 当我回到 Unity3D 时,我总是收到错误消息,说找不到 Mono.Data.Sqlite。如果我然后关闭 Unity + Mono 并重新打开两者,那么对 Mono.Data.Sqlite 的引用就消失了! 有谁知道怎么回事?

【问题讨论】:

    标签: c# sqlite reference unity3d monodevelop


    【解决方案1】:

    所以在进一步谷歌搜索和文档阅读之后: 每次场景/资产发生变化时,Unity3D 都会重建项目文件。这意味着添加的引用正在被重置,Unity 无法找到它们。

    解决方案是找到所需的 DLL(在我的例子中是 Mono.Data.Sqlite)并将它们复制到项目的 Asset 文件夹中。

    【讨论】:

      【解决方案2】:

      如果您想访问 DLL,您需要将它们放入 Assets 文件夹中名为“Plugins”的文件夹中 - 首先加载插件,因此当您想编写代码时,您可以使用插件中的 dotnet 程序集反对他们。

      【讨论】:

      • 有趣的事实:引用程序集需要直接在 Assets 文件夹中,而不是在插件文件夹中。
      • 这取决于您希望何时加载它们。插件首先加载,因此这些 dll 在编辑器代码和游戏代码中都可用;接下来会加载编辑器文件夹中的任何内容,因此可以在编辑器代码中使用 - 但不会内置到最终游戏中。之后是其余的资产。因此,如果您不想在编辑器中使用代码,Assets 很好,但如果您希望在工具和游戏中都使用它,则需要使用插件。如果代码是非托管的,您还需要使用插件。 docs.unity3d.com/Documentation/ScriptReference/…
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      • 1970-01-01
      • 1970-01-01
      • 2012-06-24
      • 2014-01-17
      • 2020-11-09
      • 2013-07-14
      相关资源
      最近更新 更多