簡體   English   中英

找不到導入的DLL的類型或名稱空間

[英]Unable to find type or namespace of imported DLL

我從這個下載的“smilenet-1.2.1-Win64的學術”庫和進口smileNET.dll在我的Unity工程。 然后,我重新啟動了Visual Studio,當我嘗試使用該庫時,它給了我一個錯誤,即找不到類型或名稱空間。 我嘗試using Smile; using smileNET; 就像他們的文檔文件Hello.cs中指出的那樣,但是它不起作用。 我嘗試了64位版本以及32位版本。 我的統一版本是2018.1.8f1 64bit

當我檢查下載的DLL,它說,該> NET版本是v4.0.30319 ,而我的VS2017運行時版本4.7.03056 ,那會是一個問題嗎?

我嘗試過的各種方法:

  1. 我也嘗試過手動添加引用。 添加引用的選項沒有出現,所以我單擊了Project> Referneces> Analyzers,如下所示,然后在頂部菜單中單擊了Project>Add References ,然后添加了smileNET.dll文件。 這樣做可以(暫時)修復錯誤。 當我關閉VS時,它詢問我是否要將更改保存到Chem-o-Crypt.sln Assesmbly-CSharp* ,所以我說是(盡管我懷疑它是否真的保存了)。 但是,當我重新啟動Visual Studio時,我發現該引用已消失,並且錯誤再次彈出。 h:/

在此處輸入圖片說明

  1. 還嘗試了啟用不安全代碼的編譯(以防萬一),如Unity 文檔中所示,但也不起作用。

在此處輸入圖片說明

  1. 我有另一個文件夾( Chem-o-Crypt/Assets/bayesserver-8.3/DotNet/Standard20/ ),其中包含其他幾個運行良好的dll,因此我將dll粘貼到了那里,但它不起作用。
  2. 我確實嘗試過在Chem-o-Crypt/Chem-o-Crypt/PluginsChem-o-Crypt/AssetsChem-o-Crypt/Assets/Plugins添加該dll,但似乎沒有什么錯。而且不起作用。
  3. 復制在DLL的64位版本Chem-o-Crypt\\Assets\\Plugins\\x64和32位版本Chem-o-Crypt\\Assets\\Plugins\\x86這也不能工作。
  4. 將dll復制到Unity編輯器的根目錄(例如C:\\ Program Files \\ Unity \\ Editor)
  5. 這個人和我的錯誤相同。 跳到15:21的時間,但是我無法使用他的解決方案,因為我的項目資源管理器中的內容顯示方式有所不同。 基本上,dll沒有像在那兒那樣出現在那兒。

我下載了dll,很遺憾,這是一個混合程序集,請參見圖片,Unity不支持。

非托管

然后一些解決方法可以是:

  • 構建和使用本機插件

  • 使用smileNET.dll創建另一個C#程序,並與Unity程序通信。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM