2016-10-12 11 views
0

Ich schreibe eine .NET Core-Bibliothek, die ich auf NuGet veröffentlichen möchte, vollständig .NET-kompatibel.Vollständige .NET zu .NET Core-Bibliothek hinzufügen

so zu tun, habe ich die project.json wie folgt:

"frameworks": { 
    "netstandard1.1": { 
    "imports": "dnxcore50" 
    } 
} 

ich, dass Bibliothek will eine vollständige .NET-Bibliothek verwenden (die es OtherLib rufen lassen). Ich dachte, es könnte möglich sein, solange die .NET-Version von OtherLib mit der Netstandard-Version meiner Bibliothek kompatibel wäre.

Aber es scheint nicht ... Hier ist der Fehler:

Package OtherLib X.Y.Z is not compatible with netstandard1.1 (.NETStandard,Version=v1.1). Package OtherLib X.Y.Z supports: 
    - net40 (.NETFramework,Version=v4.0) 
    - net45 (.NETFramework,Version=v4.5) 

Hier ist meine volle project.json:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "OtherLib": "X.Y.Z" 
    }, 
    "frameworks": { 
    "netstandard1.1": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

Ich vermute, dass es einige knifflige Sachen in der es zu tun ist, um es zum Laufen zu bringen, oder ist es einfach nicht möglich?

Vielen Dank im Voraus. (Entschuldigen Sie mich für mein Englisch, ich bin kein Muttersprachler)

Antwort

1

Versuchen Sie, Ihre project.json zu ändern, indem "netstandard1.1" auf "net45" Ändern:

{ 
    "version": "1.0.0-*", 
    "dependencies": { 
    "NETStandard.Library": "1.6.0", 
    "OtherLib": "X.Y.Z" 
    }, 
    "frameworks": { 
    "net45": { 
     "imports": "dnxcore50" 
    } 
    } 
} 
+0

Vielen Dank! Das habe ich gesucht! – fharreau

1

I thought it could be possible as long as the .NET version of OtherLib would be compatible with the netstandard version of my library.

Nein, es ist nicht möglich. Versionen von .Net Framework sind Supersätze von Versionen von .Net-Standard. Da es sich bei OtherLib um eine .Net Framework-Bibliothek handelt, können Sie sich nicht darauf in einer .Net-Standardbibliothek verlassen.

Sie müssen entweder Ihre Bibliothek beschränken, damit sie nur auf .Net Framework ausgeführt wird, oder Sie müssen die Abhängigkeit von OtherLib entfernen. (Möglicherweise, indem Sie zwei Versionen Ihrer Bibliothek machen: eine für .Net-Standard, die nicht von OtherLib und eine für. Net-Framework das tut.

+0

Vielen Dank für die technische Erklärung! – fharreau