2017-01-30 3 views
0

У меня есть приложение ASP.N Co, и когда я пытаюсь запустить его, следующая строка бросает System.TypeLoadException:Получения TypeLoadException при запуске ASP.Net сердечника App

public Startup(IHostingEnvironment env) 
    { 
     var builder = new ConfigurationBuilder() 
      .SetBasePath(env.ContentRootPath) 
      .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) 
      .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true); 

     if (env.IsEnvironment("Development")) 
     { 
      // This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately. 
      builder.AddApplicationInsightsSettings(developerMode: true); 
     } 

     builder.AddEnvironmentVariables(); 
     Configuration = builder.Build(); // <-- exception is thrown here 
    } 

Исключение гласит:

Could not load type 'System.Runtime.Serialization.ISerializable' from assembly 'System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. 

Это то, что мой project.json выглядит следующим образом:

{ 
    "dependencies": { 
    "adremes.Common": "1.1.0", 
    "adremes.Data": "1.1.2", 
    "AutoMapper": "5.2.0", 
    "Microsoft.AspNetCore.Hosting.Abstractions": "1.1.0", 
    "Microsoft.AspNetCore.Routing": "1.1.0", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.0", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", 
    "Microsoft.AspNetCore.SignalR.Server": "0.2.0-preview2-22683", 
    "Microsoft.AspNetCore.WebSockets": "1.1.0-preview1-23121", 
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.1.0", 
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0", 
    "Microsoft.Extensions.Configuration.Json": "1.1.0", 
    "Microsoft.Extensions.Logging": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.1.0", 
    "Microsoft.Extensions.Logging.Debug": "1.1.0", 
    "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0", 
    "Microsoft.NETCore.App": "1.1.0", 
    "AutoMapper.Collection": "2.1.2", 
    "Microsoft.AspNetCore.Identity": "1.1.0", 
    "DocumentFormat.OpenXml": "2.7.0-vnext0061", 
    "AspNet.Security.OpenIdConnect.Server": "1.0.0-beta7-final", 
    "AspNet.Security.OAuth.Validation": "1.0.0-alpha3-final", 
    "Microsoft.ApplicationInsights.AspNetCore": "2.0.0", 
    "Microsoft.AspNetCore.Mvc": "1.1.1" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview4-final" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "dependencies": { 
     "adremes.Exchange.Common": { 
      "target": "project" 
     }, 
     "adremes.Exchange.Data": { 
      "target": "project" 
     }, 
     "adremes.Exchange.Services": { 
      "target": "project" 
     } 
     }, 
     "imports": [ 
     "dnxcore50" 
     ] 
    } 
    }, 
    "runtimes": { 
    "win10-x64": {} 
    }, 

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

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

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

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

ссылочные проекты все пе tstandard1.5

Я попытался добавить "System.Runtime.Serialization.Primitives": "4.3.0" к моим зависимостям без успеха.

Кто-нибудь знает, что мне нужно сделать для успешного запуска моего проекта?

+0

Какова целевая структура решения? 4.0 или выше. Попробуйте установить значение 4.0, если оно выше. – Wheels73

+0

Цель netcoreapp1.0; потому что я использую ASP Core, я не могу установить его в 4.0, 4.5 и т. д. – wertzui

+0

вы попробовали добавить его как зависимую сборку в config. Wheels73

ответ

1

Проблема заключается в разделе зависимостей project.json.

Линия

"Microsoft.NETCore.App": "1.1.0", 

должен быть

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

Тогда это будет генерировать ошибку при запуске (использование «DotNet запуска» из консоли, чтобы увидеть сообщение об ошибке).

Ошибка говорит о том, что отсутствует 1.1.0 из Microsoft.NETCore.App.

Установив его с https://www.microsoft.com/net/download/core#/current, устранить проблему.

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

  • Нет связанных вопросов^_^