VSCode下提示 UnityEngine.UI 找不到引用的一次原因查找


最近在 Unity 內新增 C# 文件時,發現 VSCode 會提示UnityEngine.UI 找不到引用,但是如果 Unity 將編輯器從 VSCode 改回 VS 后,VSCode 內的引用就奇跡般的正常了

  因此使用 Nodejs 監聽文件變化查找原因,使用自己寫的小工具對比文件差異:

  在相關 csproj 文件內搜索 Assembly>false 發現是 VS 打開工程后會很果斷地刪除下列行:

     <ReferenceOutputAssembly>false</ReferenceOutputAssembly>

  反之,如果 Unity 新增一個 C# 文件,VSCode 就會自動在 csproj 里面加入這行,果然同門師兄弟,競爭很激烈。

回到 csproj 里面,是沒有任何 UnityEngine.UI 模塊引用的,毫無疑問,是放在 dll 里面了,而再結合上面這行的字面理解,應該就是不到 dll 里面找引用的意思,因此找不到 UnityEngine.UI 也就是順理成章的事了。

 

解決方式:


1:vscode 安裝1.1.3版本

    這個網上搜到很多解決方式是這個,沒有具體嘗試過,應該可行,大概率是 VSCode 自己修復了對 相關 Unity 引用的正確處理

 

2:Preferences => externalTools => VS 然后點擊任意腳本進入 VS

   如果願意用 VSCode 的話,這種就是讓 VS 去改 cpsproj,就是時間太久,知道原因再這么去改就顯得對自己的電腦性能很自信

 

 3:手動添加下列引用到 csproj

     <Reference Include="UnityEngine.UI">

         <HintPath>Library/ScriptAssemblies/UnityEngine.UI.dll</HintPath>

    </Reference>

     不難得出這種解決方式,不知道有沒有副作用

 

  4:刪除 csproj 中的 <ReferenceOutputAssembly>false</ReferenceOutputAssembly>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM