2013-06-12 65 views
1

我想在我的Assembly-CSharp-firstpass項目中使用Mono.Data.Sqlite。在MonoDevellop中,我右鍵單擊該項目,編輯引用,並將Mono.Data.Sqlite添加到引用。如果我從單聲道構建,一切都會順利進行,並且不會產生錯誤。 當我回到Unity3D時,我總是得到錯誤,指出找不到Mono.Data.Sqlite。如果我然後關閉Unity + Mono並重​​新打開這兩個,那麼對Mono.Data.Sqlite的引用就消失了! 任何人都知道發生了什麼事?Unity3D在MonoDevelop中刪除項目引用

回答

0

因此,進一步谷歌搜索和文件閱讀: Unity3D重建項目文件,每次在場景/資產的變化。這意味着添加的引用正在重置,而Unity無法找到它們。

解決方案是找到所需的DLL(在我的情況下是Mono.Data.Sqlite)並將它們複製到項目的Asset文件夾中。

1

如果你想訪問DLLs,你需要把它們放到你的Assets文件夾中的一個名爲「Plugins」的文件夾中 - 插件首先被加載,所以插件中的dotnet程序集在你想寫的時候可以使用代碼反對他們。

+0

有趣的事實:引用程序集需要直接在Assets文件夾中,而不是插件文件夾。 –

+2

這取決於你想要他們加載。插件首先加載,所以這些DLL在編輯器代碼以及遊戲代碼中都可用;編輯器文件夾中的任何內容隨後都會加載,因此它在編輯器代碼中可用 - 但不會構建到最終遊戲中。之後是資產的其餘部分。所以,如果你不想在編輯器中使用代碼,Assets就沒有問題,但如果你想在工具和遊戲中使用它,那麼它需要插件。如果代碼不受管理,您還需要使用插件。 http://docs.unity3d.com/Documentation/ScriptReference/index.Script_compilation_28Advanced29.html – theodox