当我运行dotnet --info
时,我收到的其他信息也包括:
Runtime Environment:
...
Base Path: C:\Program Files\dotnet\sdk\1.0.0
有没有办法在.NETCoreApp框架下运行的C#应用程序中以编程方式获取此值?我对它的Sdks
子目录特别感兴趣,因为我需要在处理某些.NET Core项目时将它提供给MSBuild的托管实例。因此,AppContext.BaseDirectory
等属性对我没用,因为它们指向当前应用程序的路径。
我可能最终会启动dotnet --info
并解析其结果,但我想知道是否存在更优雅的方式。感谢。
编辑:原来错误dotnet --version
而不是dotnet --info
。
答案 0 :(得分:2)
你可以运行" dotnet --info"来自应用程序的命令并解析输出。
又快又脏:
if (isInternetAvailable()){
// ... put your code here
}else{
// ... put your code here
}
答案 1 :(得分:0)
安装此软件包后https://www.nuget.org/packages/Microsoft.DotNet.PlatformAbstractions/
ApplicationEnvironment.ApplicationBasePath
会为您提供您正在寻找的内容。我通过查看dotnet
源代码...