Skip to content

Migrate to single sln file + slnf files #23581

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jul 8, 2020

Conversation

Pilchie
Copy link
Member

@Pilchie Pilchie commented Jul 1, 2020

No description provided.

@Pilchie Pilchie added the area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework label Jul 1, 2020
@Pilchie Pilchie requested review from pranavkm, dougbu and javiercn July 1, 2020 19:22
@Pilchie Pilchie added this to the 5.0.0-preview8 milestone Jul 1, 2020
@Pilchie Pilchie mentioned this pull request Jul 1, 2020
Copy link
Contributor

@dougbu dougbu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will be ready to go once you change enough *.cs files to get the remaining tests working. Some are likely looking for generated *.sln files but there are a lot of matches for .sln in *.cs files. Worse, a few like the match in src\Razor\Microsoft.AspNetCore.Razor.Language\test\Legacy\BaselineWriter.cs are exercised only when regenerating test baselines ☹️

@jkotalik
Copy link
Contributor

jkotalik commented Jul 1, 2020

Do we need to make an announcement for this (whether internal or external)? I wouldn't be surprised if some people's workflows may be disrupted by this change.

@Pilchie
Copy link
Member Author

Pilchie commented Jul 1, 2020

Good idea. I can at least email the team internally. Wonder if there are enough external contributors to make a post in aspnet/announcments, or maybe I just make a pinned issue for a bit?

@Tratcher
Copy link
Member

Tratcher commented Jul 1, 2020

Can you start by summarizing the impact on developers here?

@jkotalik
Copy link
Contributor

jkotalik commented Jul 1, 2020

Any of those options seem fine. Also could update the getting started.

@jkotalik
Copy link
Contributor

jkotalik commented Jul 1, 2020

I think there are some tests (server tests, blazor tests, IIS tests) that use the location of the sln to find specific files. I think you'll probably need to update them to slnf or update the test infrastructure to use a better path.

@pranavkm
Copy link
Contributor

pranavkm commented Jul 1, 2020

👍 to @jkotalik's suggestion. It'd be nice to point to the documentation on slnf files: https://docs.microsoft.com/en-us/visualstudio/ide/filtered-solutions?view=vs-2019 given slnf is a fairly new (and uncommonly seen-in-the-wild) feature.

@javiercn
Copy link
Member

javiercn commented Jul 1, 2020

Not Blazor nor MVC tests. We do all that through assembly attributes we stamp on the test assembly

@Pilchie Pilchie force-pushed the slnf-files-redux branch from a824540 to 6afa889 Compare July 2, 2020 03:08
@javiercn
Copy link
Member

javiercn commented Jul 2, 2020

Good idea. I can at least email the team internally. Wonder if there are enough external contributors to make a post in aspnet/announcments, or maybe I just make a pinned issue for a bit?

Can we send an email to the team so that we get someone from each team to test their main area in case we missed something?

Someone on @mkArtakMSFT team can go ahead and test MVC/Blazor and someone on the Core team can do the same thing for Servers/Signalr. /cc: @Tratcher @jkotalik before we merge.

I don't want this PR to be open for long since it'll get stale really quick.

@Pilchie
Copy link
Member Author

Pilchie commented Jul 2, 2020

I know @BrennanConroy took a look at the experience before.

@BrennanConroy
Copy link
Member

I know @BrennanConroy took a look at the experience before

Has anything changed?

@Pilchie
Copy link
Member Author

Pilchie commented Jul 2, 2020

Not really - just working on getting it updated for the blazor-wasm merge, and actually fixing tests this time.

@Pilchie Pilchie force-pushed the slnf-files-redux branch from 6afa889 to 8aaea65 Compare July 2, 2020 17:47
@Pilchie
Copy link
Member Author

Pilchie commented Jul 2, 2020

@jkotalik @Tratcher @pranavkm would love it if you could take a look at the changes to docs\BuildFromSource.md, and see if you want more than that.

Copy link
Contributor

@pranavkm pranavkm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BuildFromSource looks great.

3. Can't find a solution that has the projects you care about? Feel free to make a PR to add a new .sln file.

> :bulb: Pro tip: `dotnet new sln` and `dotnet sln` are one of the easiest ways to create and modify solutions.
3. Can't find a solution that has the projects you care about? Feel free to make a PR to add a new .slnf file.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@Tratcher
Copy link
Member

Tratcher commented Jul 2, 2020

The BuildFromSource description seems adequate, though I'm still wondering how many complaints we'll get about people trying to open the root sln directly.

The biggest downside I see to snlfs is the inability for a project to organize its view of the solution. The old slns usually had a Dependencies section to isolate the unrelated projects and allowed for a simpler structure for the relevant items.

@Tratcher
Copy link
Member

Tratcher commented Jul 2, 2020

The BuildFromSource description seems adequate, though I'm still wondering how many complaints we'll get about people trying to open the root sln directly.

Can we rename it something less inviting like SharedProjectDependencies.snl, or move it to the eng folder?

@Pilchie
Copy link
Member Author

Pilchie commented Jul 2, 2020

Meh - I think VS is working on scaling better to solutions like this. I was able to work on the full solution on my desktop for some tasks though the perf definitely wasn't what I'd like.

@Pilchie
Copy link
Member Author

Pilchie commented Jul 8, 2020

If there are no other objections, I plan to merge this later this afternoon.

@Pilchie Pilchie merged commit 3117f43 into dotnet:master Jul 8, 2020
@Pilchie Pilchie deleted the slnf-files-redux branch July 8, 2020 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants