Я разработал простую стандартную библиотеку .net.System.Runtime (.net 4.6) и mscorlib (.net Standard 1.6)
Затем я ссылался на эту сборку в проекте .net 4.6, который в основном работает нормально.
Но когда я пытаюсь вызвать метод в этом .net Standard-библиотеку с BOOL (или Guid) параметрическим Я получаю эту ошибку:
Cannot convert source type 'bool [mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]' to target type 'bool [System.Runtime, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a]'
Этих типы определены в обеих УЗЛАХ : mscorlib и System.Runtime ... как я могу это исправить?
UPDATE
здесь является очень простой пример, чтобы показать эту ошибку:
.net Portable Library -> преобразуется в .NET Standard через язычок собственности
public class MyClass
{
public void CallMe(Guid guid)
{
//so something
}
}
Проект.json
{
"supports": {},
"dependencies": {
"Microsoft.NETCore.Portable.Compatibility": "1.0.1",
"NETStandard.Library": "1.6.0"
},
"frameworks": {
"netstandard1.6": {}
}
}
Я также должен добавить это к моему csproj-файл, outerwise он не работает на всех:
<PropertyGroup>
<NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker>
</PropertyGroup>
чистый 4.6.1 Проект (ссылка на .net, стандартной библиотеки непосредственно через Библиотеки DLL-файл (Проект ссылка не работает)
public class Class1
{
private void Call()
{
var c = new MyClass();
c.CallMe(Guid.NewGuid());
}
}
Можете ли вы дать [mcve], в том числе и файл проекта, если он по-прежнему, как project.json? Когда вы говорите «проект .net 4.6», вы имеете в виду .NET 4.6 или 4.6.1 или 4.6.2? И это проект стиля .NET Core, или обычный csproj? В принципе, здесь есть много деталей - было бы очень полезно узнать о них всех. –
Я добавил простой пример, чтобы показать эту ошибку –
Вы ориентируетесь на библиотеку netstandard1.6 из проекта .NET 4.6.1 - это не * предполагается * для работы - см. Https://docs.microsoft.com/ ан-нас/DotNet/статьи/стандарт/библиотека. Вместо этого попробуйте настроить netstandard1.4. –