使用Google Calendar 3时出现System.IO.FileLoadException

时间:2014-12-20 10:59:51

标签: vb.net google-api google-calendar-api

我使用以下代码连接到Google日历3。

Dim datafolder As String = Server.MapPath("App_Data/CalendarService.api.auth.store")
Dim scopes As IList(Of String) = New List(Of String)()
Dim UserId As String = "101935195xxxxxx-jm6o24ifgbixxxxxxxxxxxx@developer.gserviceaccount.com".Trim()
scopes.Add("https://www.googleapis.com/auth/calendar")
Dim myclientsecret As New ClientSecrets() With { _
  .ClientId = myClientID, _ ' It is saved in the web config
  .ClientSecret = ClientSecret _  ' It is saved in the web config
}

Dim flow As GoogleAuthorizationCodeFlow
Try
    flow = New GoogleAuthorizationCodeFlow(New GoogleAuthorizationCodeFlow.Initializer() With { _
      .DataStore = New FileDataStore(datafolder), _
      .ClientSecrets = myclientsecret, _
      .Scopes = scopes
    })
Catch ex As Exception
    lblerr.Text = ex.ToString
End Try

它抛出:

  

System.TypeInitializationException:'Google.Apis.Http.ConfigurableMessageHandler'的类型初始值设定项引发异常。

     

System.IO.FileLoadException:无法加载文件或程序集'System,Version = 2.0.5.0,Culture = neutral,PublicKeyToken = 7cec85d7bea7798e,Retargetable = Yes'或其依赖项之一。给定的程序集名称或代码库无效。 (来自HRESULT的异常:0x80131047)

这个编码我做错了什么?为什么我没有通过身份验证?

1 个答案:

答案 0 :(得分:0)

使用从互联网上下载的外部库(例如DLL)时,我看到了类似的错误。您的帖子没有提到这一点,但我会在此发布,以防这适用于您。

确保Windows不阻止项目使用的任何外部库。您可以通过右键单击库文件(例如DLL)并转到属性来执行此操作。在底部,如果适用,将会有一个按钮来解锁"取消阻止"。单击它,然后再次尝试运行项目。

可在此处找到其他信息和自动化选项:http://www.howtogeek.com/70012/what-causes-the-file-downloaded-from-the-internet-warning-and-how-can-i-easily-remove-it/