Ссылка на тип 'IListSource' утверждает, что она определена в 'System', но не может быть найдена

Я пытаюсь добавить свой пакет, в котором целевая структура .Net Framework 4.5 Уже добавь Microsoft.NETCore.Portable.Compatibility": "1.0.1" исправить ошибку mscorlib

Ниже представлен проект.json

"dependencies": {
    "Microsoft.ApplicationInsights.AspNetCore": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.1",
    "Microsoft.AspNetCore.Routing": "1.0.1",
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "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",
    "Swashbuckle": "6.0.0-beta902",
    "Microsoft.AspNetCore.Cors": "1.1.0",
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1",
    "Microsoft.EntityFrameworkCore": "1.0.0",
    "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0"
},

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

"frameworks": {
    "netcoreapp1.0": {
        "dependencies": {
            "Microsoft.NETCore.App": {
                "version": "1.0.1",
                "type": "platform"
            },
            "Clemittance.Database.ReadModel": "1.9.5"
        },
        "imports": [
            "dotnet5.6",
            "portable-net45+win8",
            "net45",
            "dnxcore50"
        ]
    }
},

Clemittance.Database.ReadModel мой пакет

ошибка

1 ответ

Решение

Во-первых, удалить net45 из вашего раздела импорта, вы не должны злоупотреблять этим способом. Вы можете использовать только.NET Core совместимые фреймворки здесь, например portable-net45+win8, которые, как известно, работают с.NET Core, потому что они имеют одну и ту же поверхность API.

НИКОГДА не используйте imports как это. Только там можно заставить nuget восстановить определенные пакеты nuget, которые еще не нацелены netstandard1.x, как некоторые портативные библиотеки классов (PCL).

Злоупотребление им ни для чего другого, просто не сработает. Вы не можете заставить библиотеки.NET Framework 4.x автоматически работать с.NET Core.

IListSource кажется, является частью.NET Core, но не "основных" пакетов.NET Core. Однако packagesearch говорит, что это в SystemSystem.ComponentModel.TypeConverter пакет (см. http://packagesearch.azurewebsites.net/?q=IListSource).

Другие вопросы по тегам