Hallo,
ich bin aktuell dabei, eine Library von einer reinem .NET Framework 4.5 auf .NET Standard umzustellen, da ich sie gleichfalls in einem Framework-Projekt wie in einem Core-Projekt benötige. Dafür habe ich eine .NET Standard-Library erstellt, die als TargetFrameworks netstandard2.0 und net45 benutzt.
Nun habe ich jedoch eine Klasse, die System.Management benötigt, jedoch auch nur im Framework-Projekt laufen muss. Um nicht nur wegen dieser einen Klasse zwei Projekte anzulegen, habe ich, wie hier beschrieben, #IF-Statements benutzt:
Alles schön und gut - nur dass es die Methode nun überhaupt nicht mehr erkannt wird.
Hat da jemand eine andere Idee?
Nico
ich bin aktuell dabei, eine Library von einer reinem .NET Framework 4.5 auf .NET Standard umzustellen, da ich sie gleichfalls in einem Framework-Projekt wie in einem Core-Projekt benötige. Dafür habe ich eine .NET Standard-Library erstellt, die als TargetFrameworks netstandard2.0 und net45 benutzt.
Nun habe ich jedoch eine Klasse, die System.Management benötigt, jedoch auch nur im Framework-Projekt laufen muss. Um nicht nur wegen dieser einen Klasse zwei Projekte anzulegen, habe ich, wie hier beschrieben, #IF-Statements benutzt:
VB.NET-Quellcode
- #If net45 Then
- Imports System.Management
- #End If
- Imports System.Net.NetworkInformation
- Imports System.Security.Cryptography
- Imports System.Text
- Namespace Helpers
- Public Class ComputerInfo
- #If net45 Then
- Public Shared Function Get_HWID() As String
- Dim txt As String = ""
- Dim hw As New ComputerInfo
- If Type.GetType("Mono.Runtime") Is Nothing Then
- Dim hdd, cpu, mb As String
- cpu = hw.GetProcessorId()
- hdd = hw.GetVolumeSerial("C")
- mb = hw.GetMotherBoardID()
- txt = cpu & hdd & mb
- Else
- txt = "MonoRuntime" & hw.GetMACAddress()
- End If
- Dim hwid As String = GenerateSHA512String(txt)
- Return hwid
- End Function
- #End If
- #If netstandard2 Then
- Public Shared Function Get_HWID() As String
- Throw New NotImplementedException("This Function is only Implemented for .NET Framework 4.5")
- End Function
- #End If
- [...]
- End Class
- End Namespace
Alles schön und gut - nur dass es die Methode nun überhaupt nicht mehr erkannt wird.
Hat da jemand eine andere Idee?
Nico