Я думаю, что я в аду NuGet Dll.Неожиданная ошибка с использованием библиотек API Google
Моя первая проблема с был происходить:
Не удалось загрузить файл или сборку 'System.Net.Http.Primitives, Version = 1.5.0.0, культура = нейтральной, PublicKeyToken = b03f5f711d50a3a' или один из его зависимостей. Определение манифеста размещенной сборки не соответствует ссылке на сборку.
Но я мог бы решить, что он помещает правую зависимую сборку в файл web.config/app.config.
Теперь у меня есть новая ошибка, что я не делаю ни малейшего представления о том, как решить это
ThreadAbortExceptionSubproceso anulado. - Данные: System.Collections.ListDictionaryInternal - Stack Trace: ru Google.Apis.Requests.ClientServiceRequest
1.Execute() en c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\test\default\Src\GoogleApis\Apis\Requests\ClientServiceRequest.cs:línea 100 en AppLayer.Control.Engines.Database.Bigquery.InsertAll(BigqueryService s, String datasetId, String tableId, List
1 данные) en d: \ Programació \ Nostrum \ BACKEND \ AppLayer \ Control \ Engines \ Database \ Bigquery.cs: línea 175 - Источник : Google.Apis - InnerException: Subproceso anulado. Google.Apis 21/10/2014 17:04:10 ThreadAbortExceptionSubproceso anulado.System.Collections.ListDictionaryInternal System.Collections.Generic.List`1 [Google.Apis.Bigquery.v2.Data.TableDataInsertAllRequest + RowsData]
Я использую Visual Studio 2012 Update 4, и это мой код
public bool InsertAll(BigqueryService s, String datasetId, String tableId, List<TableDataInsertAllRequest.RowsData> data)
{
try
{
TabledataResource t = s.Tabledata;
TableDataInsertAllRequest req = new TableDataInsertAllRequest()
{
Kind = "bigquery#tableDataInsertAllRequest",
Rows = data
};
//My code crashes in the next line
TableDataInsertAllResponse response = t.InsertAll(req, projectId, datasetId, tableId).Execute();
if (response.InsertErrors != null)
{
return true;
}
}
catch (ThreadAbortException e)
{
throw e;
}
catch (Exception e)
{
throw e;
}
return false;
}
Кто-нибудь есть какие-либо идеи о том, как это исправить? Я очень разочарован ...
Если удалить стопорные блоки, я получаю это в окне вывода
'vstest.executionengine.x86.exe' (Managed (v4.0.30319)) : Загружено 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ mscorlib.resources \ v4.0_4.0.0.0_es_b77a5c561934e089 \ mscorlib.resources.dll' 'vstest.executionengine.x86.exe' (управляемый (v4.0.30319))): Загружен 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Threading.Tasks \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Threading.Tasks.dll' 'vstest.executionengine.x86.exe' (Управляемый (v4.0.30319)): Загружен 'D: \ Programació \ Nostrum \ BACKEND \ TestSubmitService \ bin \ Debug \ Microsoft.Threading.Tasks.dll' Первое исключение исключений типа «System.Threading.ThreadAbortException» произошло в mscorlib.dll Первое исключение исключения типа «System.Threading.ThreadAbortException» произошло в Google.Apis.dll Первое исключение случайного типа «Система. Threading.ThreadAbortException 'произошел в Google.Apis.dll ' vstest.executionengine.x86.exe '(управляемый (v4.0.30319)): загружен «C: \ PROGRAM FILES (X86) \ MICROSOFT VISUAL STUDIO 11.0 \ COMMON7 \ IDE \ COMMONEXTENSIONS \ MICROSOFT \ TESTWINDOW \ es \ Microsoft.VisualStudio.TestPlatform.TestExecutor.Core.resources.dll ' ' vstest.executionengine.x86.exe '(Managed (v4.0.30319)): Загружен' C: \ Windows \ Microsoft. Net \ assembly \ GAC_MSIL \ System.Transactions.resources \ v4.0_4.0.0.0_es_b77a5c561934e089 \ System.Transactions.resources.dll ' System.Transactions Критический: 0: http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled Excepción no c ontroladavstest.executionengine.x86.exeSystem.AppDomainUnloadedException, mscorlib, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089Интересное дополнение к un appDomain descargado. System.AppDomainUnloadedException: Intento de obtener acceso un appDomain descargado. Исключение типа «System.Threading.ThreadAbortException» произошло в Google.Apis.dll, но не было обработано в коде пользователя Шаг в: Переход по не-пользовательскому коду «System.Threading.ExecutionContext.RunInternal ' Поток' '(0x77c) вышел с кодом 0 (0x0). Поток '' (0xd44) вышел с кодом 0 (0x0). 'vstest.executionengine.x86.exe' (управляемый (v4.0.30319)): Загружен 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Xaml \ v4.0_4.0.0.0__b77a5c561934e089 \ System.Xaml. dll ', пропущенные символы загрузки. Модуль оптимизирован и включен параметр отладчика «Только мой код». 'vstest.executionengine.x86.exe' (управляемый (v4.0.30319)): Загружен 'C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.ServiceModel.resources \ v4.0_4.0.0.0_es_b77a5c561934e089 \ System. ServiceModel.resources.dll ' ' vstest.executionengine.x86.exe '(управляемый (v4.0.30319)): Загружен' C: \ Windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.resources \ v4.0_4.0.0. 0_es_b77a5c561934e089 \ System.resources.dll ' Программа' [4552] vstest.executionengine.x86.exe: Program Trace 'вышла с кодом 0 (0x0). Программа '[4552] vstest.executionengine.x86.exe: Managed (v4.0.30319)' вышла с кодом 0 (0x0).
Избавьтесь от своих блоков 'catch'; они разрушают следы стека. – SLaks
Я обновил сообщение с трассировкой ошибки, которая запускает программу без блока catch – RCalaf
«ThreadAbortException» означает, что код пытался прервать выполняемый поток. У вас есть код, который прерывает потоки? Возможно, что API Google сам прервет поток в случае тайм-аутов, но это маловероятно. Вы используете код внутри модульного теста? –