Runtime: RC2 netstandard1.5 «Объект» определен в сборке, на которую нет ссылок.

Созданный на 27 мая 2016  ·  3Комментарии  ·  Источник: dotnet/runtime

У меня есть библиотека классов на netstandard1.5 , мой project.json ниже. При запуске dotnet build я получаю такие ошибки, как:

The type 'Exception' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
The type 'Uri' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
The type 'Stream' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.

В пакетах RC1 я мог бы сослаться System.Runtime , и это было бы исправлено. Однако теперь RC2 и я ссылаемся на NETStandard.Library , что пакет включен.

Я совершенно озадачен тем, почему я получаю эти ошибки.

проект.json

{
    "version": "1.0.0-*",
    "dependencies": {

    },
    "frameworks": {
        "netstandard1.5": {
            "imports": [ "dnxcore50", "portable-net45+win8+wp8+wpa81" ],
            "dependencies": {
                "Enums": { "target": "project" },
                "VQViewModels": { "target": "project" },
                "NovellLdap2": { "target": "project" },
                "DDay": {"target": "project"},

                "NETStandard.Library": "1.5.0-rc2-24027",

                "System.Xml.XmlSerializer": "4.0.11-rc2-24027",
                "System.Data.Common": "4.0.1-rc2-24027",
                "System.Diagnostics.TraceSource": "4.0.0-rc2-24027",
                "System.Net.Requests": "4.0.11-rc2-24027",
                "System.Xml.XmlDocument": "4.0.1-rc2-24027",
                "System.Xml.XPath.XmlDocument": "4.0.1-rc2-24027",
                "System.Collections.Specialized": "4.0.1-rc2-24027",
                "System.Data.SqlClient": "4.1.0-rc2-24027",
                "System.Threading.Thread": "4.0.0-rc2-24027",
                "System.Collections.NonGeneric": "4.0.1-rc2-24027",
                "System.Diagnostics.TextWriterTraceListener": "4.0.0-rc2-24027",
                "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",

                "Dapper": "1.50.0-rc2",
                "FubarCoder.RestSharp.Portable.HttpClient": "3.2.0",
                "MailKit": "1.3.0-beta7",
                "Npgsql": "3.1.0"
            }
        }
    }
}

Самый полезный комментарий

Один из ваших пакетов содержит PCL на основе mscorlib (вероятно, из-за того, что вы используете "imports":"portable-net45+win8+wp8+wpa81" ). Чтобы решить эту проблему, вам нужно сослаться на «Microsoft.NETCore.Portable.Compatibility»: «1.0.1-rc2-24027». Этот пакет обеспечивает совместимость с PCL на основе mscorlib.

Все 3 Комментарий

Я пытался изолировать, но я просто не могу это воспроизвести. Ссылки на проекты - это просто библиотеки с классами, как показано ниже, без логики или зависимостей.

public class Person
{
}

Один из ваших пакетов содержит PCL на основе mscorlib (вероятно, из-за того, что вы используете "imports":"portable-net45+win8+wp8+wpa81" ). Чтобы решить эту проблему, вам нужно сослаться на «Microsoft.NETCore.Portable.Compatibility»: «1.0.1-rc2-24027». Этот пакет обеспечивает совместимость с PCL на основе mscorlib.

Благодаря этому пакету это удалось, после разговора с @davidfowl мы подчеркнули, что это FubarCoder.RestSharp.Portable.HttpClient , а imports приносит BCL.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги