【问题标题】:Referencing .dll from assembly c#从程序集 c# 中引用 .dll
【发布时间】:2012-10-10 14:06:14
【问题描述】:

我正在开发一个语言翻译程序,我从离线获取信息。我正在使用 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?任何帮助将不胜感激。

【问题讨论】:

  • 您是否将 HtmlAgilityPack 的 bin 移动到带有 your 程序集的已部署文件夹中?
  • stackoverflow.com/questions/12628449/… 没有回答您的问题吗?
  • 统一标签适用于 Microsoft Unity。请不要滥用它。

标签: c# unity3d .net-assembly


【解决方案1】:

像 Austin 和 Shakir 所说的那样引用 HtmlAgilityPakc.dll 后,我仍然无法使错误正常工作。我修复了这个错误,不仅引用了 HtmlAgilityPack.dll,而且将 HtmlAgilityPack.dll 放在我的脚本所在的文件夹中。这摆脱了错误。感谢您的所有帮助!

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我单击编辑引用并添加了 HtmlAgilityPack.dll,但它仍然出现错误命名空间“HtmlAgilityPack”找不到。您对如何解决此问题还有其他想法吗?
    • 如果您正在使用与程序集关联的任何 Web 控件,则在 .aspx 页面上,在页面代码的开头添加以下行: 如果可行,那就太好了
    【解决方案3】:

    在项目下,转到添加引用并确保已添加 HTMLAgilityPack。 既然你已经有using HtmlAgilityPack;,应该修复它。

    您在此主题上的other 问题也应该可以解决这个问题。

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多