I have a test project in dotnet 2.1 that needs to work across multiple platforms (specifically, windows and linux-based systems) as well as access DB2 databases.
IBM provides separate NuGet packages for different operating systems:
- IBM.Data.DB2.Core
- IBM.Data.DB2.Core-lnx
- IBM.Data.DB2.Core-osx
How can I specify in my .csproj
file that I want to use different packages based on the operating system?
Passing in the RuntimeIdentifier
(dotnet publish ... -r linux-x64
) is possible, but I am unsure how to leverage that information inside the csproj
. I am also not opposed to using the Choose/When
construct, but don't know how to infer what system is trying to build the project.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…