2016-05-10 3 views
2

Я построения API, используя ядро ​​.net, и я просто столкнуться с этой проблемой во время публикации:Невозможно опубликовать .NET Core, приложение (не поддерживается во время выполнения)

The project being published does not support the runtime 'dnx-clr-win-x86.1.0.0-rc2-20221' 

Я видел this github issue, а также this one, и я не ближе к решению. Вот мой обновленныйproject.json файл:

{ 
    "compilationOptions": { 
    "debugType": "portable", 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true 
    }, 

    "dependencies": { 
    "AspNet.Security.OAuth.Validation": "1.0.0-alpha1-*", 
    "Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.Diagnostics": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.Hosting": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.IISPlatformHandler": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-*", 
    "Microsoft.AspNetCore.StaticFiles": "1.0.0-rc2-*", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-rc2-*", 
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc2-*", 
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc2-*", 
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc2-*", 
    "OpenIddict.Core": "1.0.0-*", 
    "OpenIddict.EF": "1.0.0-*" 
    }, 

    "frameworks": { 
    "net451": { 
     "frameworkAssemblies": { 
     "System.ComponentModel": { "type": "build" } 
     } 
    }, 

    "netcoreapp1.0": { 
     "dependencies": { 
     "Microsoft.NETCore.App": { 
      "type": "platform", 
      "version": "1.0.0-rc2-*" 
     } 
     }, 

     "imports": [ 
     "dnxcore50", 
     "portable-net451+win8" 
     ] 
    } 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": { 
     "version": "1.0.0-rc2-*", 
     "imports": "portable-net45+wp80+win8+wpa81+dnxcore50" 
    } 
    }, 

    "scripts": { 
    "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 
    }, 

    "exclude": [ 
    "wwwroot", 
    "node_modules" 
    ], 

    "publishExclude": [ 
    "**.user", 
    "**.vspscc" 
    ] 
} 

Я где-то читал, что это может быть связано с организацией моих зависимостей?

UPDATE

Это ошибка я получаю при использовании dotnet restore:

Errors in c:\Users\Dude\Documents\my-api-v1\src\MyApi\obj\060296a3-1ddd-4410-9e77-9510cd667f39\bin\project.json 
Microsoft.AspNetCore.Server.IISIntegration.Tools 1.0.0-rc2-20832 is not compatible with DNXCore,Version=v5.0. 
Some packages are not compatible with DNXCore,Version=v5.0. 
Microsoft.AspNetCore.Server.IISIntegration.Tools 1.0.0-rc2-20832 is not compatible with DNXCore,Version=v5.0 (win7-x64). 
Some packages are not compatible with DNXCore,Version=v5.0 (win7-x64). 
+0

Какую именно команду вы используете для публикации своего проекта? – Pinpoint

+0

no command, я в настоящее время использую инструмент публикации vs 2015, я еще не переключился на какой-либо CI для этого. Должен ли я публиковать свои настройки профиля публикации? –

ответ

5

Вы ссылка ASP.NET Ключевых RC2 пакетов, которые несовместимы с RC1 инструментами VS, так как они оба полагаются на совершенно разные стеки (DNX vs .NET CLI).

Вместо этого вы должны использовать dotnet publish.

Я рекомендую обновить файл project.json удалить устаревшие commands раздел и включить недостающее tools/scripts:

"tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": { 
    "version": "1.0.0-rc2-*", 
    "imports": "portable-net45+wp80+win8+wpa81+dnxcore50" 
    } 
}, 

"scripts": { 
    "postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 
} 

netstandardapp1.5 также должен быть заменен новым netcoreapp1.0 МТФ и следующая зависимость должна быть добавляют при netcoreapp1.0/dependencies:

"Microsoft.NETCore.App": { "type": "platform", "version": "1.0.0-rc2-*" } 

Вы можете взглянуть на https://github.com/openiddict/openiddict-core/blob/dev/samples/Mvc.Server/project.json е или рабочий пример.

+0

Спасибо, теперь я получаю сообщение об ошибке 'Microsoft.Dnx.Runtime.FileFormatException: неизвестной ключевой платформы', о которой вы говорили [здесь] (https://github.com/aspnet-contrib/AspNet.Security.OAuth.Providers/issues/88). Есть предположения? –

+0

Ожидается. Прекратите использование DNX/VS и проигнорируйте его, и он должен работать с .NET CLI. – Pinpoint

+0

Хех, ладно. Я использую CLI сейчас, получая «Некоторые пакеты несовместимы с ошибкой DNXCore, Version = v5.0 (win7-x64)». Настолько расстраивающе ... –

Смежные вопросы