Я хочу создать приложение ASP.NET для Google BigQuery с использованием OAuth2 и рамки .Net 4.5. Я побежал эту 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"
}
);
}
}
}
Я поставил эту конкретную страницу в качестве стартовой страницы проекта , Я выбрал «Установленное приложение», когда я построил файл ИД клиента в консоли Google
APIS & auth -> Credentials -> CREATE NEW CLIENT ID
, и я уверен, что я добавил этот файл (client_secrets.json) с исследователем решения в VS2013. В коде, я убедился, что я правильно сопоставлен с файлом client_secrets с Server.MapPath. Для машинного удостоверения я использовал этот код
<https://code.google.com/p/google-api-dotnet-client/wiki/OAuth2>
в качестве отправной точки. При запуске приложения, оно возвращает ошибочную страницу браузера, которая начинается с
Не удалось загрузить файл или сборку «Microsoft.Threading.Tasks.Extensions.Desktop, Version = 1.0.16.0, Culture = нейтрально, PublicKeyToken = b03f5f7f11d50a3a 'или одной из его зависимостей. Система не может найти указанный файл.
и сбой на линии "credential =". Я попытался добавить некоторые изображения фактической страницы с разбивкой браузера ASP.net, показывающей трассировку загрузки загрузки/трассировку стека/и т. Д., Но похоже, что у меня нет прав учетной записи для этого. Когда я поставил точку останова в строке «удостоверение =», а затем запустить приложение через
DEBUG -> Start Debugging
в VS2013, страница останавливается на «верительных =» линии и открывает файл сборщика, ищет файл
"GoogleClientSecrets.cs"
из каталога
«C: \ код \ google.com \ Google-апи-Dotnet-клиент \ умолчанию \ Tools \ Google.Apis.Release \ Bin \ Debug \ вывода \ умолчанию \ Src \ GoogleApis.Auth \ OAuth2 \ GoogleClientSecrets.cs "
, который нигде не находится на диске. Используя трассировку загрузки сборки на сгенерированной странице ошибок ASP.net, я попытался выполнить поиск в предлагаемых файлах конфигурации, но ничего не получилось. В более общем плане я попытался найти эту проблему в StackOverflow, и, хотя я действительно нашел какое-то упоминание об этом, ни один из этих материалов не помог.
Здравствуйте. Извините за задержку. Я попробовал ваше предложение, и оно работает. Спасибо за вашу помощь! - Frank –