-
Notifications
You must be signed in to change notification settings - Fork 240
BuildTools should be able to run against any CLI version #918
Comments
What work does fixing this involve? Does the problem come from the version hard-coded here? |
@mellinoe that is part of the problem because that is the minimum version we look to have in the runtime, but another part of it is that we also need to compile against one version of the framework, which is where the real problem is. Basically, there is no easy way to ensure that the version we compile against in buildtools side, will match/support the version that the consumer of buildtools will have at runtime. I'm not sure there is an easy way to fix this. |
Is that part actually a problem as long as the version CLI uses is newer, though? It's not like we're breaking interface or behavior compat between earlier and later framework assemblies. |
@weshaggard might have some ideas here |
I think there are a couple possible paths.
|
Any update on this? This issue lowers the ability to adopt buildtools in new repos. Currently in core-setup and cli repos, we are downloading 2 versions of the CLI. And now that we are trying to set up the dotnet/sdk repo, we will have to do the same if we want to use buildtools. For starters, can we just move buildtools up to run on the RTM version of the shared framework? At least then these repos can stop downloading 2 versions of the CLI just to build... |
@crummel can you please have a look at this with your other BuildTools investigations? cc @markwilkie |
I was chatting with @joperezr the other day and I didn't understand some stuff that came up regarding this:
|
I know this was a conscious decision made by the DotNetHost. Only pre-release versions are allowed in the roll-forward behavior. @schellap and @gkhanna79 would have the full reasoning behind this policy. @piotrpMSFT might as well. |
Stable versions ex: |
Hm, maybe there's some more context that I'm missing, but it seems too restrictive to me... It might become a big headache going forward, especially for folks trying to maintain portable applications across framework versions. At the very least, it should be possible for us to say that an app supports more than one framework version, or a range, etc. Is anything like that possible? With that feature, we could just say that the buildtools apps all support several versions that we've tested. |
@crummel who also cares about stuff like this right now. |
I'm looking at this now. |
Thanks @crummel what is your plan for rolling this out the the other repos? |
@weshaggard I'm going to take a look and see if there's a workaround for the upgrade concerns that @livarcocc has - i.e. once support is dropped in CLI for project.json what happens. I'm also planning to look into whether it's feasible to get buildtools off project.json now - do you know who was looking at it before? |
I don't think anyone was looking at removing project.json from BuildTools repo. We cannot even consider that until we have new tools in places that can be used. Please make sure there are tracking issues for everything left. I would like to get the bootstrapping changes into corefx before we go down the route of removing project.json files and the like because I do believe there is value independently of centralizing the logic. |
Right now, build tools is compiled against a specific version of the Shared Framework; it would be nice if it supported running against any version of the SFX that was already on the target machine. This would significantly help the CLI scenario since the CLI repo already has a SFX on-box; however, the SFX version is usually much higher than the build tools version
The text was updated successfully, but these errors were encountered: