【问题标题】:The type or namespace 'SKYPE4COMLib' could not be found - Unity3d找不到类型或命名空间“SKYPE4COMLib”-Unity3d
【发布时间】:2015-10-12 00:40:17
【问题描述】:

为含糊的标题道歉。

我正在将 Skype 集成到我的 Unity 应用程序中。所以我在 Visual Studio 和 Unity 项目的 plugins 文件夹中添加了 Skype4Com.dll,但编辑器抛出“错误 CS0246:找不到类型或命名空间名称‘SKYPE4COMLib’。您是否缺少 using 指令或程序集引用? "

当我将相同的 dll 添加到不同的 windows 窗体应用程序时,应用程序构建成功。

这是代码,

using UnityEngine;
using System;
using System.Collections.Generic;
using SKYPE4COMLib;

public class AudioManager : MonoBehaviour
{
   void Start()
   {
      Skype skype = new Skype();
      if (!skype.Client.IsRunning)
      {
        skype.Client.Start(true, true);
      }
   }
}

该 dll 已作为参考添加到 Visual Studio 中。

以下是 Unity 中的错误

我错过了什么吗?

【问题讨论】:

  • 双击您的参考并使用对象资源管理器来探索命名空间。也许 SKYPE4ComLib 是 dll 名称,但不是命名空间的名称
  • @IronSlug:感谢您的回复。 dll 和命名空间名称相同。
  • 如果您从 Visual Studio 添加 DLL 并从 Visual Studio 链接到项目引用,请尝试将其删除并从统一编辑器添加(只需从您的 OS 目录资源管理器的源目录拖到您的插件目录统一编辑器,让统一正确运行其资产的进口商)。
  • @Frohlich:我试过了,但也没有用。我不确定为什么 Unity 不喜欢这个 dll。

标签: c# unity3d


【解决方案1】:

您是否检查过您的 dll 是否与 Unity 兼容? Unity 5 在导入 dll 时仅支持最高 .Net 3.5。

【讨论】:

  • 我已经检查过了,它与 Unity 5 兼容
【解决方案2】:

我终于修好了。我从 C:\Program Files (x86)\Common Files\Skype 获得的 Skype4COMLib.dll 不是正确的 dll。 Unity 正在寻找 Interop.SKYPE4COMLib.dll

【讨论】:

  • 那么您在哪里找到 Interop.SKYPE4COMLib.dll ?你可以发布你的整个代码吗?你能从 Unity 应用启动 Skype 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 2017-07-12
  • 2011-05-13
  • 2021-03-01
  • 2020-08-13
  • 2018-11-18
相关资源
最近更新 更多