2017-01-21 6 views
1

J'ai développé une simple bibliothèque standard .net.System.Runtime (.net 4.6) et mscorlib (.net Standard 1.6)

puis j'ai référencé cet assemblage dans un projet .net 4.6 qui fonctionne essentiellement bien.

Mais lorsque je tente d'appeler une méthode dans cette .net Standard-bibliothèque avec un bool (ou Guid) -parameter Je reçois cette erreur:

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]'

Ces types sont définis dans les deux-ensembles : mscorlib et System.Runtime ... comment puis-je résoudre ce problème?

MISE À JOUR

est ici un exemple très simple pour montrer cette erreur:

.net Bibliothèque Portable -> converti en standard .NET via la propriété onglet

public class MyClass 
{ 
    public void CallMe(Guid guid) 
    { 
     //so something 
    } 
} 

Project.json

{ 
    "supports": {}, 
    "dependencies": { 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
    "NETStandard.Library": "1.6.0" 
    }, 
    "frameworks": { 
    "netstandard1.6": {} 
    } 
} 

Je devais aussi ajouter à mon csproj-File, outerwise il ne fonctionne pas du tout:

<PropertyGroup> 
    <NuGetTargetMoniker>.NETStandard,Version=v1.6</NuGetTargetMoniker> 
    </PropertyGroup> 

net 4.6.1 Projet (référencé .net-bibliothèque standard directement via le dll-fichier (référence du projet ne fonctionne pas)

public class Class1 
    { 
     private void Call() 
     { 
      var c = new MyClass(); 
      c.CallMe(Guid.NewGuid()); 
     } 
    } 

Et qui est le message d'erreur: enter image description here

+0

Pouvez-vous donner un [mcve], y compris votre fichier de projet si elle est toujours aussi project.json? Quand vous dites "projet .net 4.6", voulez-vous dire .NET 4.6, ou 4.6.1, ou 4.6.2? Et est-ce un projet de style .NET Core, ou un csproj régulier? Fondamentalement, il y a beaucoup de détails ici - il serait vraiment utile de les connaître tous. –

+0

J'ai ajouté un exemple simple pour montrer cette erreur –

+2

Vous ciblez une bibliothèque netstandard1.6 à partir d'un projet .NET 4.6.1 - ce n'est pas supposé fonctionner - voir https://docs.microsoft.com/ en-us/dotnet/articles/standard/bibliothèque. Au lieu de cela, essayez de cibler netstandard1.4. –

Répondre