1

В моем приложении ASP.NET Core 1.0 я пытаюсь установить PayPal .NET SDKfrom here. Но я получаю вышеуказанную ошибку. Их prerequisite here говорит только 4.0 или новее. Подобная ошибка возникает, когда я пытаюсь установить paypal-sdk-core-dotnet described here. Примечание. Я использую VS2015-Update3.Пакет PayPal 1.7.4 несовместим с netcoreapp1.0

project.json:

{ 
    "dependencies": { 
    "Microsoft.NETCore.App": { 
     "version": "1.0.1", 
     "type": "platform" 
    }, 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.0.1", 
    "Microsoft.AspNetCore.Razor.Tools": { 
     "version": "1.0.0-preview2-final", 
     "type": "build" 
    }, 
    "Microsoft.AspNetCore.Routing": "1.0.1", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0", 
    "Microsoft.Extensions.Logging": "1.0.0", 
    "Microsoft.Extensions.Logging.Console": "1.0.0", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0", 
    "PayPal": "1.7.4", 
    "PayPalCoreSDK": "1.7.1" 
    }, 

    "tools": { 
    "BundlerMinifier.Core": "2.0.238", 
    "Microsoft.AspNetCore.Razor.Tools": "1.0.0-preview2-final", 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "portable-net45+win8" 
     ] 
    } 
    }, 

    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "runtimeOptions": { 
    "configProperties": { 
     "System.GC.Server": true 
    } 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config" 
    ] 
    }, 

    "scripts": { 
    "prepublish": [ "bower install", "dotnet bundle" ], 
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ] 
    } 
} 
+2

Вы не можете использовать его. Минимум для netstandard Library - .NET 4.5 (у которого есть System.Runtime, у более старых .NET Framework нет его). И даже тогда вы не можете нацелиться на .NET Core. Вам нужно подождать, пока PayPal не сделает netcore-библиотеку, или вы нацелите .NET 4.5 (то есть «net451') или новее вместо« netcoreapp1.0 » – Tseng

+0

@Tseng. За ваш комментарий и ответ от Shaun Luttin я изменил цель на .NET 4.6.1, и теперь он работает - спасибо. – nam

ответ

1

Изменить Каркасы раздел следующим образом:

"frameworks": { 
    "net451": {} 
}, 

И это удалить из вашей зависимостей раздела:

"Microsoft.NETCore.App": { 
    "version": "1.0.1", 
    "type": "platform" 
}, 

Почему?

В SDK PayPal используются части .NET Framework 4.5.1, которые не включены в версию .NET Standard Library версии 1.6. Так как .NET Core реализует .NET Standard 1.6, он не поддерживает SDK PayPal.

+1

Вы предлагаете эквивалент: Создание веб-проекта в VS2015 с использованием встроенного шаблона проекта «ASP.NET Core Web Application (.NET Framework)» в отличие от встроенного шаблона проекта «ASP.NET Core Web Приложение (.NET Core) '? – nam

+0

@nam Да. Мое предложение эквивалентно этому. –

+1

Благодарим вас за предоставление возможности конвертировать существующий веб-проект VS2015, созданный с использованием одного типа шаблона проекта, в проект, который был бы создан с использованием другого типа шаблона проекта. – nam