从程序集c#引用.dll

时间:2012-10-10 14:06:15

标签: c# unity3d .net-assembly

我正在开发一个语言翻译程序,我可以从这里获取离线信息。我正在使用Unity游戏引擎,它使用Assembly作为其IDE。以下是我目前的代码。

class Dictionary
{
    public string Translate(string input, string languagePair, Encoding encoding)
    {
        string url = String.Format("http://www.google.com/translate_t?hl=en&ie=UTF8&text={0}&langpair={1}", input, languagePair);

        string result = String.Empty;

        using (WebClient webClient = new WebClient())
        {
            webClient.Encoding = encoding;
            result = webClient.DownloadString(url);
        }

        HtmlDocument doc = new HtmlDocument();
        doc.LoadHtml(result);
        return doc.DocumentNode.SelectSingleNode("//textarea[@name='utrans']").InnerText;
    }
}

但是,在编译时,我收到错误:

Assets/DictionarySp.cs(8,7): error CS0246: The type or namespace name `HtmlAgilityPack' could not be found. Are you missing a using directive or an assembly reference?

我开始做研究并听说HtmlAgilityPack是第三方软件,我必须引用.dll。我下载了VisualStudio2010,以及NuGet。在Visual Studio内部,我点击了“管理NuGet包”并安装了HtmlAgilityPack。在Visual Studio内部,错误消失了,但是当我尝试在Assembly中打开文件时,我仍然收到无法找到命名空间HtmlAgilityPack的错误。我正在使用Unity游戏引擎,所以我必须从VisualStudio文件中取出文件并将其放在不同的文件夹中。是否有一些我缺少的步骤,或者我需要在汇编中做一些事情来引用HtmlAgilityPack dll?任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:2)

在引用像Austin和Shakir之类的HtmlAgilityPakc.dll之后,我仍然无法得到错误。我修复了这个错误,不仅引用了HtmlAgilityPack.dll,还将HtmlAgilityPack.dll放在我脚本的文件夹中。这摆脱了错误。感谢您的所有帮助!

答案 1 :(得分:1)

尝试从“添加引用”选项卡添加HTMLAgility!

答案 2 :(得分:1)

在该项目下,转到“添加引用”并确保已添加HTMLAgilityPack。 由于您已经有using HtmlAgilityPack;,因此应该修复它。

关于此主题的other问题也应解决此问题。

答案 3 :(得分:0)

如果您使用自定义的Unity Assembly Definition文件,则无法在Visual Studio中向该项目添加引用,因为Unity编译时会覆盖这些引用。相反,您需要将dll添加到资产文件夹层次结构中。