1

オフラインから情報を取得する言語翻訳プログラムに取り組んでいます。AssemblyをIDEとして使用するUnityゲームエンジンを使用しています。以下はこれまでの私のコードです。

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 内ではエラーは解消されましたが、アセンブリでファイルを開こうとすると、名前空間 HtmlAgilityPack が見つからないというエラーが引き続き表示されます。Unity ゲーム エンジンを使用しているため、VisualStudio ファイルからファイルを取得して別のフォルダーに配置する必要があります。欠けているステップがありますか、それとも HtmlAgilityPack dll を参照するためにアセンブリで何かをする必要がありますか? どんな助けでも大歓迎です。

4

4 に答える 4

2

Austin と Shakir が言ったように HtmlAgilityPakc.dll を参照した後も、エラーが発生することはありませんでした。HtmlAgilityPack.dll を参照するだけでなく、スクリプトを含むフォルダーに HtmlAgilityPack.dll を配置することで、このエラーを修正しました。これでエラーが解消されました。ご協力いただきありがとうございます。

于 2012-10-16T02:28:11.750 に答える
1

[参照の追加] タブから HTMLAgility を追加してみてください。

于 2012-10-10T14:11:37.300 に答える
1

プロジェクトの下で、[参照の追加] に移動し、HTMLAgilityPack が追加されていることを確認します。すでに持っているのでusing HtmlAgilityPack;、修正する必要があります。

このトピックに関する他の質問もこれを解決するはずです

于 2012-10-10T14:13:20.253 に答える