Ich verstehe diese Präprozessordirektiven nicht wirklich, was ich schreiben muss. Ich entwickle eine Bibliothek, die für viele Frameworks funktionieren sollte, z. .net Framework 4.5, 4.6, ... und für meine Anwendung, die mit Framework .NETStandard
Version 1.5 läuft -> also denke ich, das ist dnxcore50
?Präprozessordirektive in niget-Bibliothek
public class MyClass
{
#if DOTNET5_4
// do nothing
#else
public void MyMethod()
{
Console.WriteLine("framework is supported");
// and do anything with libraries available in the framework :)
}
#endif
}
so ist es das, was ich jetzt habe, aber MyMethod
ist mit einem anderen Rahmen nicht zur Verfügung. Die Verwendung von #if DOTNETCORE50
funktioniert auch nicht.
Ich habe auch versucht, Einschränkungen zu definieren, aber mein Projekt kann nicht geladen werden, wenn ich dies versuche.
Irgendeine Idee, was die richtige Lösung ist?
Verwandte: http://stackoverflow.com/questions/3436526/detect-target-framework-version-at-compile-time –
@x ... habe ich versucht, dies bereits aber nachdem ich meine Lösungsdatei geändert habe, kann das Projekt immer nicht geladen werden. –
Nicht Lösungsdatei, Projektdatei. Sie bearbeiten die falsche Datei. –