我有兩個DLL加載到我的Unity項目中的PDB文件。一個針對「選擇插件平臺」檢查器中的編輯器,並位於文件夾Assets/Plugins中。其他目標WSAPlayer,爲SDK選擇了UWP,爲腳本後端選擇了DotNet。它位於Assets/Plugins/WSA文件夾中。我試圖構建Windows應用商店(SDK:Universal 10,目標設備:PC,UWP Build Type:XAML,UWP SDK:最新安裝,以及在本地計算機上構建和運行)時出現以下錯誤:Unity爲WSA構建時加載錯誤的名稱空間
資產\ CubeScript.cs(16,48):錯誤CS0246:類型或命名空間名稱 'Win32HidDevice' 找不到(?是否缺少using指令或程序集引用)
錯誤因爲腳本有編譯器錯誤
我不希望UWP能夠加載Win32HidDevice,我的UWP DLL也不會使用它,所以它必須來自其他DLL。該應用程序在編輯器中可以很好地進行調試,如果我還在第一個DLL上檢查「Standalone」,那麼我可以構建並運行獨立應用程序。
我需要什麼設置讓Unity忽略Win32 DLL並在爲WSA構建時使用UWP?
我不認爲這是劇本本身,而是爲了完整性這裏是:
using UnityEngine;
using Zanzibar;
public class OrbScript : MonoBehaviour
{
public Mat mat;
void Start()
{
MatManager.Instance.MatConnected += MatConnected;
MatManager.Instance.MatDisconnected += MatDisconnected;
MatManager.Instance.Initialize(Communication.AllSupported);
}
private void MatConnected(Mat mat)
{
Debug.LogFormat("Mat {0}", mat.UniqueName);
this.mat = mat;
}
private void MatDisconnected(Mat mat)
{
this.mat = null;
}
void Update()
{
if (mat == null)
{
GetComponent<Renderer>().material.color = Color.black;
}
else if (mat.TaggedObjects.Count > 0)
{
GetComponent<Renderer>().material.color = Color.green;
}
else if (mat.Touches.Count > 0)
{
GetComponent<Renderer>().material.color = Color.magenta;
}
else
{
GetComponent<Renderer>().material.color = Color.white;
}
}
}