Граф коммитов

14053 Коммитов

Автор SHA1 Сообщение Дата
Dustin Campbell 0cfb05a6f4 Merge branch 'main' into big-smoosh 2024-04-08 08:39:35 -07:00
Jan Jones 07e194a65a
[main] Update dependencies from dotnet/arcade (#10234)
This pull request updates the following dependencies

[marker]: <> (Begin:2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d)
## From https://github.com/dotnet/arcade
- **Subscription**: 2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d
- **Build**: 20240404.3
- **Date Produced**: April 4, 2024 5:15:15 PM UTC
- **Commit**: 188340e12c0a372b1681ad6a5e72c608021efdba
- **Branch**: refs/heads/release/8.0

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.SourceBuild.Intermediate.arcade**: [from
8.0.0-beta.24179.4 to 8.0.0-beta.24204.3][2]
- **Microsoft.DotNet.Arcade.Sdk**: [from 8.0.0-beta.24179.4 to
8.0.0-beta.24204.3][2]

[2]: fc2b7849b2...188340e12c

[DependencyUpdate]: <> (End)


[marker]: <> (End:2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d)
2024-04-08 11:17:09 +02:00
dotnet-maestro[bot] f583ef7114 Update dependencies from https://github.com/dotnet/arcade build 20240404.3
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.24179.4 -> To Version 8.0.0-beta.24204.3
2024-04-07 12:56:51 +00:00
Jared Parsons 8a58a74956
Revert "Revert "Move to Central Package Management"" (#10235)
* Revert "Revert "Move to Central Package Management (#10215)" (#10227)"

This reverts commit d7dd436243.

* CPM fix 1
2024-04-07 08:21:46 +10:00
dotnet-maestro[bot] 0404ea782c Update dependencies from https://github.com/dotnet/arcade build 20240404.3
Microsoft.SourceBuild.Intermediate.arcade , Microsoft.DotNet.Arcade.Sdk
 From Version 8.0.0-beta.24179.4 -> To Version 8.0.0-beta.24204.3
2024-04-06 13:04:17 +00:00
Dustin Campbell 4e221d05c2 Fix up for code review feedback 2024-04-05 10:14:19 -07:00
Dustin Campbell c6ef39a00c Organize namespaces 2024-04-05 10:00:34 -07:00
Dustin Campbell 9264cbd352 Remove MS.VS.Editor.Razor and *.Test projects 2024-04-05 10:00:29 -07:00
Dustin Campbell 12fd520cdd Move MS.VS.Editor.Razor into MS.VS.Razor.LanguageServices 2024-04-05 09:59:13 -07:00
Dustin Campbell 43b3b692c0 Move DocumentMapping protocol types to MS.CA.Razor.Workspaces 2024-04-05 09:58:12 -07:00
Dustin Campbell 99581e49dc Organize MS.VS.Razor.LanguageClient namespace 2024-04-05 09:58:11 -07:00
Dustin Campbell d9fbec2a3a Remove MS.VS.LanguageServerClient.Razor and *.Test projects 2024-04-05 09:58:00 -07:00
Dustin Campbell b1d97b9619 Move MS.VS.Razor.LanguageServerClient into MS.VS.Razor.LanguageServices 2024-04-05 09:57:18 -07:00
Jared Parsons d7dd436243
Revert "Move to Central Package Management (#10215)" (#10227)
This reverts commit c68a6bdbc7.
2024-04-05 09:50:12 -07:00
David Wengier c9ea37f48c
Publish only .NET service files (#10225) 2024-04-06 03:35:11 +11:00
Jared Parsons 6c020868c3
Warn on invalid NuGet configuration (#10220)
Issue a warning when `%NUGET_PACKAGES%` doesn't have a trailing slash
until the associatede issue is fixed.

https://github.com/dotnet/roslyn/issues/72657
2024-04-05 08:08:20 -07:00
Rainer Sigwald bb8dfea018 Framework MSBuild demands a string 2024-04-05 09:47:09 -05:00
Rainer Sigwald df81822d1e MSBuild demands an additional property expansion 2024-04-05 08:34:38 -05:00
David Wengier 4f88389e46 Publish only .NET service files 2024-04-05 17:11:55 +11:00
Jared Parsons e2cb464f54 silly 2024-04-04 14:48:16 -07:00
Jared Parsons dc0a20a097 yml 2024-04-04 14:24:48 -07:00
Jared Parsons f3948f5643 yml 2024-04-04 14:14:59 -07:00
Jared Parsons ac19a419b7 yml 2024-04-04 14:14:22 -07:00
Jared Parsons 9b6842d300 yml 2024-04-04 14:05:48 -07:00
Jared Parsons c68a6bdbc7
Move to Central Package Management (#10215)
This change moves us to central package management.
2024-04-04 13:43:31 -07:00
Jared Parsons 7270c8f816 Warn on invalid NuGet configuration
Issue a warning when `%NUGET_PACKAGES%` doesn't have a trailing slash
until the associatede issue is fixed.

https://github.com/dotnet/roslyn/issues/72657
2024-04-04 13:08:17 -07:00
Dustin Campbell badd53cb7b
Remove ProjectSnapshotManagerDispatcher usage in Visual Studio layer (#10211)
Long ago, `ProjectSnapshotManagerDispatcher` was introduced as a
replacement for a lot of code in Razor that synchronized by running on
the UI thread. This abstraction was needed for the language server,
where there isn't a UI thread. However, there's a lot of code that was
refactored to use `ProjectSnapshotManagerDispatcher` that doesn't really
need it. After all the dispatcher is intended for scheduling updates to
the project snapshot manager. So, using it for services that don't
depend on the project snapshot manager is overuse.

This change removes usage of `ProjectSnapshotManagerDispatcher` in most
of the Visual Studio layer. It's still used by the
`ProjectWorkspaceStateGenerator`, but that requires a larger
refactoring. Most services that were using
`ProjectSnapshotManagerDispatcher` did so to control updates to shared
data structures, and made these free-threaded.
2024-04-04 12:29:25 -07:00
Dustin Campbell dc981a6747 Remove ProjectSnapshotManagerDispatcher from Live Share 2024-04-03 12:31:18 -07:00
Dustin Campbell 3d3cd8f4ca Push ProjectSnapshotManagerDispatcher into ProjectWorkspaceStateGenerator 2024-04-03 12:31:17 -07:00
Dustin Campbell 7dffbc6f2d Remove ProjectSnapshotManagerDispatcher from LegacyEditor 2024-04-03 12:31:17 -07:00
Phil Allen c46ec54964
Stop building no longer shipping net7 build (#10203)
Stop building no longer shipping net7 build

With the move for rzls to publish net8 binaries, we no longer use our net7 build.  Remove the TFM from our builds (should speed CI builds)
2024-04-03 17:41:24 +00:00
Dustin Campbell f531fe830d
Remove MS.ANC.Razor.LanguageServer.Protocol project (#10204)
`Microsoft.AspNetCore.Razor.LanguageServer.Protocol` just contains a few
types that can easily be moved to more appropriate locations. This
change removes that project and reduces our assembly count by 1.
2024-04-03 10:27:28 -07:00
Dustin Campbell 4ea8e79c04 Delete unused MS.ANC.Razor.LanguageServer.Common folder 2024-04-03 09:07:36 -07:00
Dustin Campbell 41d9479757 Delete MS.ANC.Razor.LanguageServer.Protocol project 2024-04-03 09:07:36 -07:00
Dustin Campbell 8bd6715ef8 Move DebuggerDisplay helper to Workspaces 2024-04-03 09:07:35 -07:00
Dustin Campbell 23eb58704b Move folding protocol type to Workspaces 2024-04-03 09:07:35 -07:00
Dustin Campbell 8a8d4f55e5 Remove unnecessary copies of debugging protocol types from LanguageServerClient 2024-04-03 09:07:28 -07:00
Dustin Campbell cd4eab745a Move debugging protocol types to Workspaces 2024-04-03 09:05:35 -07:00
Dustin Campbell e8f6c0966c
Add launch profiles that don't have native debugging enabled (#10207)
Who wants to wait for the native debugger on F5 every time? Not me!
2024-04-03 08:51:36 -07:00
David Wengier 8c34fdd592
Remove MS.Ext.Logging and Abstractions from most of our repo (#10199)
We don't get much from using MS.Ext.Logging for our logging, and we pay
for it with ~two~ three (?) DLL loads in VS. This fixes that by
implementing the logging bits outselves, and removing the abstraction
for options monitoring which we weren't really using.

I also removed the notion of "scopes" from the logging because we never
actually implemented them, so this also closes
https://github.com/dotnet/razor/issues/8232. We don't actually do any
structured logging so we're really not missing much.

The only place that does still use MS.Ext.Logging is our one DLL that is
referenced by Roslyn in VS Code, since they pass us an ILogger, so we
don't really have a choice about that bit :)

I still need to do a little more testing of the options bit, ~because
I'm seeing some oddities, but I think the issue is really one with the
unified settings experience and/or our options updating code.~ Okay
yeah, this is happening in VS main too. Logged
https://github.com/dotnet/razor/issues/10200 but will make sure this
doesn't get any worse :)
2024-04-03 10:00:51 +11:00
Dustin Campbell efaccb0c44 Add launch profiles that don't have native debugging enabled 2024-04-02 15:02:08 -07:00
David Wengier 83a572537e Rename logging types to remove "Razor" from the name 2024-04-03 08:30:31 +11:00
David Wengier de5ba34069 Rename CreateLogger to GetOrCreateLogger 2024-04-03 08:08:16 +11:00
David Wengier 63b1d80f01 Minor PR feedback 2024-04-03 07:48:18 +11:00
Andrew Hall 96ebc95897
Fix project load when intermediate output path isn't known (#10198)
Not sure whether me or @DustinCampbell broke this, but hit this assert
during debugging today. What was happening was:

* WorkspaceProjectStateChangeDetector tried to create a ProjectKey for a
Project that had no compilation output assembly path
* `ProjectKey` calls `FilePathNormalizer.GetNormalizedDirectoryName`,
passes in `null`, and gets back `/`
* `ProjectKey` then calls `FilePathNormalizer.NormalizeDirectory` on
that `/`, which exploded

This fixes the first bullet point, by checking if Roslyn knows about the
intermediate output path before continuing. Since this is only checking
for project existence, we don't actually need to go further.
This fixes the third point by protecting against a single `/` being
written for an input that is only a single `/`
This ignores the second point because it doesn't really matter, though
it is slightly wasteful to get a normalized directory name, and then
normalize it.
2024-04-02 11:56:04 -07:00
dotnet bot b286c8d8ef
Merge release/dev17.10 to main (#10202)
This is an automatically generated pull request from release/dev17.10
into main.


Once all conflicts are resolved and all the tests pass, you are free to
merge the pull request. 🐯

## Troubleshooting conflicts

### Identify authors of changes which introduced merge conflicts
Scroll to the bottom, then for each file containing conflicts copy its
path into the following searches:
- https://github.com/dotnet/razor/find/release/dev17.10
- https://github.com/dotnet/razor/find/main

Usually the most recent change to a file between the two branches is
considered to have introduced the conflicts, but sometimes it will be
necessary to look for the conflicting lines and check the blame in each
branch. Generally the author whose change introduced the conflicts
should pull down this PR, fix the conflicts locally, then push up a
commit resolving the conflicts.

### Resolve merge conflicts using your local repo
Sometimes merge conflicts may be present on GitHub but merging locally
will work without conflicts. This is due to differences between the
merge algorithm used in local git versus the one used by GitHub.
``` bash
git fetch --all
git checkout -t upstream/merges/release/dev17.10-to-main
git reset --hard upstream/main
git merge upstream/release/dev17.10
# Fix merge conflicts
git commit
git push upstream merges/release/dev17.10-to-main --force
```
2024-04-02 11:33:01 -07:00
Dustin Campbell d9818b1100
Use AsyncBatchingWorkQueue in BackgroundDocumentGenerator (#10194)
BackgroundDocumentGenerator uses a `Timer` and a `Dictionary` to process
work in batches. This change replaces that with `AsyncBatchingWorkQueue`
to greatly simplify the implementation.
2024-04-02 08:25:58 -07:00
Dustin Campbell c2c1fb30a9
Don't await FallbackProjectManager updates (#10196)
Back in 17.10p1, the FallbackProjectManager would apply changes to the
project snapshot manager without scheduling the updates on the
dispatcher. This had the potential to create correctness and reliability
problems if those changes collided with other updates that *were*
scheduled on the dispatcher.

To address the correctness problem, I made the FallbackProjectManager
async and awaited any updates to the project snapshot manager. However,
this created re-entrancy problems that resulted in deadlocks with
Roslyn. I fixed a couple of those re-entrancy problems in 17.10p2, but
hangs have persisted.

A recent Watson dump revealed another yet another re-entrancy issue with
background document promotion in the IRazorDynamicFileInfoProvider. The
hang occurs when waiting for the FallbackProjectManager to add the file,
which causes the project snapshot manager to notify listeners of the
update, which causes one of the listener to try and perform the
background document promotion again, which causes the hang.

To address this, I've decided to just "fire-and-forget" the updates to
the project snapshot manager. The updates will still happen on the
dispatcher, but we won't wait for them and shouldn't hang.
2024-04-02 08:24:14 -07:00
David Wengier dfb5099ed1 Remove Microsoft.Extensions.Options 2024-04-02 21:46:55 +11:00
Jan Jones 0881c0a948
[main] Update dependencies from dotnet/arcade (#10156)
This pull request updates the following dependencies

[marker]: <> (Begin:2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d)
## From https://github.com/dotnet/arcade
- **Subscription**: 2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d
- **Build**: 20240329.4
- **Date Produced**: March 29, 2024 8:33:35 PM UTC
- **Commit**: fc2b7849b25c4a21457feb6da5fc7c9806a80976
- **Branch**: refs/heads/release/8.0

[DependencyUpdate]: <> (Begin)

- **Updates**:
- **Microsoft.SourceBuild.Intermediate.arcade**: [from
8.0.0-beta.24170.6 to 8.0.0-beta.24179.4][7]
- **Microsoft.DotNet.Arcade.Sdk**: [from 8.0.0-beta.24170.6 to
8.0.0-beta.24179.4][7]

[7]: 8e3e00a76f...fc2b7849b2

[DependencyUpdate]: <> (End)


[marker]: <> (End:2907dbca-fa2e-42bc-f7dd-08dc0c5b4e6d)
2024-04-02 12:14:39 +02:00