Magento.RestApi ведет себя по-другому при динамической загрузке из DLL.C#

Место общения программистов C#
Ответить
Anonymous
 Magento.RestApi ведет себя по-другому при динамической загрузке из DLL.

Сообщение Anonymous »

Я использую Magento.RestApi в более крупной системе, где я динамически загружаю код из DLL.

Когда я использую приведенный ниже код в автономном проект, он работает нормально:

Код: Выделить всё

private async void dostuff() {
var client = new MagentoApi()
.Initialize("", "key", "secret")
.AuthenticateAdmin("user", "pass");

var response = await client.GetProductBySku("sku");

// The response contains the result or errors
if (!response.HasErrors) {
var product = response.Result;
... do stuff with the result ...
}
}
Но при загрузке в более крупный проект я получаю сообщение «Запрос не был успешно завершен», а также при попытке перехватить ошибку, чтобы найти InnerException или трассировку стека, отладчик, похоже, больше не работает. Распечатка трассировки стека дает мне:

Код: Выделить всё

   at Magento.RestApi.MagentoApi.d__35`1.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\MagentoApi.cs:line 445
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Magento.RestApi.MagentoApi.d__34`1.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\MagentoApi.cs:line 410
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Magento.RestApi.MagentoApi.d__45.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\MagentoApi.cs:line 708
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at Magento.RestApi.SapphireMagentoDriver.d__6.MoveNext() in C:\Users\bart\Documents\Visual Studio 2015\Projects\SapphireMagentoDriver\SapphireMagentoDriver\DriverInterface.cs:line 103
Мне пришлось скомпилировать Magento.RestApi из исходного кода, поскольку пакет NuGet использует другой пакет NewtonSoft.Json, чем мой большой проект. Это отлично работает в автономной версии.

Подробнее здесь: https://stackoverflow.com/questions/504 ... y-from-dll
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»