Comments (6)
I think DOTNET_HOST_PATH
was required for some msbuild targets/props/shenanigans, so we should require it in some way, but I agree with you that the last-chance fallback of the app name isn't suitable for cases where the caller is in an AppHost
and not the dotnet
host. I think we can remove that last-chance and raise an exception in the init function if that's the case. That will require callers to set at least one of the valid detection variables, though, which ideally would be represented as an input to the function somehow...
from proj-info.
One hurdle here is that the .NET SDK doesn't forward any of the environment variables we look for on to local or global tools, like it does for other commands. It might be good to advocate for that feature, because as it stands, tools have no consistent way to detect the dotnet installation that's running them.
from proj-info.
Talking with some of the SDK team, the DOTNET_ROOT variable is only set if the install location isn't one of the well-known ones. So we should do probing if there's no DOTNET_ROOT.
from proj-info.
The final algorithm should look something like:
- DOTNET_HOST_PATH
- DOTNET_ROOT/DOTNET_ROOT(x86)
- probe PATH
- probe default install locations per-OS
- fail hard if none found
from proj-info.
@dsyme this was released in 0.55.1
from proj-info.
@dsyme ok, 0.55.2 has a more sane strategy that doesn't touch DOTNET_HOST_PATH
from proj-info.
Related Issues (20)
- Reducing use of FAKE
- Set location of vswhere HOT 4
- Different result when cracking before and after project restore. HOT 2
- Be more clear about dependencies. HOT 2
- `mapToFSharpProjectOptions` for a dense project graph is very slow HOT 3
- Use the `reuseProjectElementCache` parameter of the `ProjectCollection` constructor to reduce memory usage
- getProjectInfo doesn't return framework references? HOT 17
- Access error while reading project files.
- Report a meaningful error when MSBuild references are missing, or `ExcludeAssets` properties are not set correctly. HOT 1
- Missing source files and embedded items compared to `dotnet build --no-dependencies` HOT 2
- Run tests in parallel HOT 3
- getProjectInfo with relative path does not work. HOT 2
- ProjInfo sets environment variables for the current process. HOT 2
- Crash on initialisation when included in build with `-p:PublishSingleFile=true` HOT 2
- ProjInfo 0.62.0's tool cannot load 8.x projects
- Could not load file or assembly 'System.Runtime, Version=8.0.0.0 when multiple SDKs are present HOT 2
- Guess who tried cracking with dotnet 8?
- Consider not logging full MSBuild output on a failed build HOT 2
- When some projects target `net7.0`, and their dependencies dual-target `net6.0, net7.0`, cracking doesn't work HOT 1
- Load projects using ProjectLoadSettings.IgnoreMissingImports to light-up support for less-correctly-authored projects
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from proj-info.