我添加了3 dll的参考:Google.Apis,Google.Apis.Translate.v2,System.Runtime.Serialization
在Form1中我有一行:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Translator.translate(new TranslateInput());
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
现在错误异常位于类Translator的第一行:
抛出错误的行是:var service = new TranslateService { Key = GetApiKey() };
班级代码是:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
using System.Web;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using Google.Apis.Util;
using Google.Apis.Translate.v2;
using Google.Apis.Translate.v2.Data;
using TranslationsResource = Google.Apis.Translate.v2.Data.TranslationsResource;
public class Translator
{
public static string translate(TranslateInput input)
{
// Create the service.
var service = new TranslateService { Key = GetApiKey() };
string translationResult = "";
// Execute the first translation request.
Console.WriteLine("Translating to '" + input.TargetLanguage + "' ...");
TranslationsListResponse response = service.Translations.List(input.SourceText, input.TargetLanguage).Fetch();
var translations = new List<string>();
foreach (TranslationsResource translation in response.Translations)
{
translationResult = translation.TranslatedText;
}
return translationResult;
}
private static string GetApiKey()
{
return "AIzaSyCjxMe6RKHZzd7xSfSh2pEsBqUdXYm5tA8"; // Enter Your Key
}
}
/// <summary>
/// User input for this example.
/// </summary>
[Description("input")]
public class TranslateInput
{
[Description("text to translate")]
public string SourceText = "Who ate my candy?";
[Description("target language")]
public string TargetLanguage = "fr";
}
错误是:
无法从程序集“Google.Apis,Version = 1.1.4497.35846,Culture = neutral,PublicKeyToken = null”加载类型“Google.Apis.Discovery.FactoryParameterV1_0”。
尝试谷歌寻求帮助,并尝试将项目类型更改为x64平台,但它没有帮助。所以我把它放回x86
我有Windows 7 64位visual studio c#2010 pro .net 4.0个人资料客户端。
无法弄清楚错误是什么?
答案 0 :(得分:2)
上述消息中报告的此错误是由于解决方案或项目的bin \ Debug文件夹中的本地副本造成的。即使您尝试清理解决方案,此类副本仍将存在。
为了避免这种情况发生,您必须通过在项目属性中添加引用路径来强制Visual Studio引用正确的DLL。不幸的是,如果您的解决方案中有多个项目,则必须一个接一个地设置项目的参考路径,直到完成。
如果您想知道如何设置参考路径,请遵循以下简单说明:
1.选择您的项目,右键单击,然后单击“属性”; 2.在项目属性中,单击“参考路径”; 3.文件夹,键入或浏览到DLL的正确位置,单击[添加文件夹]。
您需要针对每个DLL的不同位置执行这些步骤。考虑在相同项目属性的“构建”选项卡下设置输出路径,以便您可以在每个目录的同一目录中输出DLL,从而确保在同一位置找到所有最新版本,从而简化了引用。
请注意,这只是导致此错误的原因之一。但可以肯定的是,必须对所提到的组件的错误副本做一些事情。