我想使用OAuth2和.Net 4.5框架構建Google BigQuery C#ASP.net應用程序。我跑這些的NuGet安裝ASP.net應用程序崩潰 - 無法加載文件或程序集'Microsoft.Threading.Tasks.Extensions.Desktop'
Install-Package Google.Apis.Bigquery.v2 -Pre
Install-Package Google.Apis.Authentication.OAuth2 -Version 1.2.4696.27634
Install-Package Google.Apis -Pre
Install-Package Google.Apis.Auth -Pre
,我放置在相關的「usings」代碼隱藏文件「default.aspx.cs」:
using System;
using System.Collections.Generic;
using System.IO;
using System.Threading;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Google.Apis.Auth.OAuth2;
using Google.Apis.Services;
using Google.Apis.Bigquery.v2;
using Google.Apis.Bigquery.v2.Data;
namespace BigQueryDemoApp
{
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
UserCredential credential;
FileStream stream;
using (stream = new FileStream(
Server.MapPath("~/client_secrets.json"),
FileMode.Open, FileAccess.Read)
)
{
GoogleWebAuthorizationBroker.Folder =
"Tasks.Auth.Store";
credential = GoogleWebAuthorizationBroker.
AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
new[] { BigqueryService.Scope.Bigquery },
"user", CancellationToken.None).Result;
}
// Initialize the service.
var Service = new BigqueryService(
new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "BigQueryDemo"
}
);
}
}
}
我設置特定頁面作爲項目起始頁。我拿起「已安裝的應用」當我建立的客戶ID文件在谷歌控制檯
APIS & auth -> Credentials -> CREATE NEW CLIENT ID
,我確信我添加文件(的client_secrets.json)在VS2013的解決方案資源管理器。在代碼隱藏方面,我確信我已正確映射到Server.MapPath的client_secrets文件。對於憑證機構,我使用此代碼
<https://code.google.com/p/google-api-dotnet-client/wiki/OAuth2>
作爲起點。當我運行的應用程序,它返回一個與
無法加載文件或程序集Microsoft.Threading.Tasks.Extensions.Desktop啓動瀏覽器錯誤頁,版本= 1.0.16.0,文化=中立,公鑰= b03f5f7f11d50a3a'或它的一個依賴關係。該系統找不到指定的文件。
並在「憑證=」行崩潰。我試圖添加一些實際的ASP.net崩潰的瀏覽器頁面的圖像,顯示程序集加載跟蹤/堆棧跟蹤/等,但它看起來像我沒有這個帳戶權限。當我在「證書=」行設置一個斷點,然後通過
DEBUG -> Start Debugging
在VS2013
運行應用程序,網頁停止在「證書=」線和一個文件選擇器打開,尋找文件
"GoogleClientSecrets.cs"
從目錄
「C:\代碼\ google.com \谷歌API-DOTNET客戶端\ DEFAULT \工具\ Google.Apis.Release \ BIN \調試\輸出\ DEFAULT \ SRC \ GoogleApis.Auth \ OAuth2 \ GoogleClientSecrets.cs「
這是無處在驅動器上。在生成的ASP.net錯誤頁面中使用Assembly Load Trace,我嘗試瞭解建議的配置文件,但沒有任何工作。更一般地說,我試着在StackOverflow中尋找這個問題,雖然我找到了一些提及它的東西,但沒有一個材料有幫助。
你好。對不起,延遲。我試過你的建議,它的工作原理。謝謝你的幫助! - Frank –