Skip to content

Commit 9596064

Browse files
committed
Merge branch 'release/10.0.2xx' of https://github.com/dotnet/sdk into merge/release/10.0.1xx-to-release/10.0.2xx
2 parents b7adad2 + 0630416 commit 9596064

File tree

387 files changed

+7121
-5071
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

387 files changed

+7121
-5071
lines changed

.editorconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,11 +511,11 @@ dotnet_diagnostic.IDE0040.severity = warning
511511
insert_final_newline = false
512512

513513
# Verify settings
514-
[*.{received,verified}.{txt,xml,json}]
514+
[*.{received,verified}.{txt,xml,json,sh,zsh,nu,fish,ps1}]
515515
charset = "utf-8-bom"
516516
end_of_line = lf
517517
indent_size = unset
518518
indent_style = unset
519519
insert_final_newline = false
520520
tab_width = unset
521-
trim_trailing_whitespace = false
521+
trim_trailing_whitespace = false

.gitattributes

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,7 @@
6767
*.verified.txt text eol=lf working-tree-encoding=UTF-8
6868
*.verified.xml text eol=lf working-tree-encoding=UTF-8
6969
*.verified.json text eol=lf working-tree-encoding=UTF-8
70+
*.verified.sh text eol=lf working-tree-encoding=UTF-8
71+
*.verified.zsh text eol=lf working-tree-encoding=UTF-8
72+
*.verified.nu text eol=lf working-tree-encoding=UTF-8
73+
*.verified.fish text eol=lf working-tree-encoding=UTF-8

.github/copilot-instructions.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,8 @@ Localization:
3838

3939
Documentation:
4040
- Do not manually edit files under documentation/manpages/sdk as these are generated based on documentation and should not be manually modified.
41+
42+
External Dependencies:
43+
- Changes that require modifications to the dotnet/templating repository (Microsoft.TemplateEngine packages) should be made directly in that repository, not worked around in this repo.
44+
- The dotnet/templating repository owns the TemplateEngine.Edge, TemplateEngine.Abstractions, and related packages.
45+
- If a change requires updates to template engine behavior or formatting (e.g., DisplayName properties), file an issue in dotnet/templating and make the changes there rather than adding workarounds in this SDK repository.

.vscode/settings.json

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
{
22
"dotnet.testWindow.disableAutoDiscovery": true,
3-
"dotnet.defaultSolution": "sdk.slnx"
3+
"dotnet.testWindow.disableBuildOnRun": true,
4+
"dotnet.defaultSolution": "cli.slnf",
5+
"files.associations": {
6+
"*.slnf": "json",
7+
"*.props": "xml",
8+
"*.targets": "xml",
9+
"*.*proj": "xml"
10+
}
411
}

.vsts-ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ trigger:
55
branches:
66
include:
77
- main
8-
- release/10.0.1*
8+
- release/10.0.2*
99
- internal/release/*
1010
- exp/*
1111

Directory.Packages.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="$(MicrosoftCodeAnalysisPackageVersion)" />
3838
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="$(MicrosoftCodeAnalysisPackageVersion)" />
3939
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.MSBuild" Version="$(MicrosoftCodeAnalysisWorkspacesMSBuildPackageVersion)" />
40+
<PackageVersion Include="Microsoft.CodeAnalysis.ExternalAccess.HotReload" Version="$(MicrosoftCodeAnalysisExternalAccessHotReloadPackageVersion)" />
4041

4142
<!-- roslyn-sdk dependencies-->
4243
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.CodeFix.Testing" Version="1.1.2" />
@@ -81,8 +82,6 @@
8182
<PackageVersion Include="Microsoft.TestPlatform.Build" Version="$(MicrosoftTestPlatformBuildPackageVersion)" />
8283
<PackageVersion Include="Microsoft.TestPlatform.CLI" Version="$(MicrosoftTestPlatformCLIPackageVersion)" />
8384
<PackageVersion Include="Microsoft.VisualStudio.Composition" Version="17.4.16" />
84-
<PackageVersion Include="Microsoft.VisualStudio.Sdk" Version="17.2.32505.173" />
85-
<PackageVersion Include="Microsoft.VSSDK.BuildTools" Version="17.11.435" />
8685
<PackageVersion Include="Microsoft.VisualStudio.Setup.Configuration.Interop" Version="$(MicrosoftVisualStudioSetupConfigurationInteropVersion)" />
8786
<PackageVersion Include="Microsoft.VisualStudio.SolutionPersistence" Version="$(MicrosoftVisualStudioSolutionPersistenceVersion)" />
8887
<PackageVersion Include="Microsoft.Web.Deployment" Version="$(WebDeploymentPackageVersion)" />

NuGet.config

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
<clear />
55
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
66
<!-- Begin: Package sources from dotnet-dotnet -->
7-
<add key="darc-pub-dotnet-dotnet-e17b0d0" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-dotnet-e17b0d08/nuget/v3/index.json" />
87
<!-- End: Package sources from dotnet-dotnet -->
98
<!-- Begin: Package sources from microsoft-testfx -->
109
<!-- End: Package sources from microsoft-testfx -->
@@ -30,8 +29,6 @@
3029
<add key="dotnet-tools-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools-transport/nuget/v3/index.json" />
3130
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
3231
<add key="dotnet-libraries-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries-transport/nuget/v3/index.json" />
33-
<add key="vssdk" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk/nuget/v3/index.json" />
34-
<add key="vssdk-archived" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vssdk-archived/nuget/v3/index.json" />
3532
<add key="vs-impl" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-impl/nuget/v3/index.json" />
3633
<!-- Used for Rich Navigation indexing task -->
3734
<add key="richnav" value="https://pkgs.dev.azure.com/azure-public/vside/_packaging/vs-buildservices/nuget/v3/index.json" />

cli.slnf

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"solution": {
3+
"path": "sdk.slnx",
4+
"projects": [
5+
"src\\BuiltInTools\\dotnet-watch\\dotnet-watch.csproj",
6+
"src\\Cli\\dotnet\\dotnet.csproj",
7+
"src\\Cli\\Microsoft.DotNet.Cli.Utils\\Microsoft.DotNet.Cli.Utils.csproj",
8+
"test\\dotnet-new.IntegrationTests\\dotnet-new.IntegrationTests.csproj",
9+
"test\\dotnet-watch.Tests\\dotnet-watch.Tests.csproj",
10+
"test\\dotnet.Tests\\dotnet.Tests.csproj",
11+
"test\\Microsoft.DotNet.Cli.Utils.Tests\\Microsoft.DotNet.Cli.Utils.Tests.csproj",
12+
"test\\Microsoft.NET.TestFramework\\Microsoft.NET.TestFramework.csproj"
13+
]
14+
}
15+
}

documentation/general/analyzer-redirecting.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ Targeting an SDK (and hence also loading analyzers) with newer major version in
1919
2020
## Overview
2121

22-
- The SDK will contain a VSIX with the analyzer DLLs and an MEF-exported implementation of `IAnalyzerAssemblyRedirector`.
22+
- The SDK will deploy analyzer DLLs and Roslyn will deploy an implementation of `IAnalyzerAssemblyRedirector`
23+
(could be deployed by SDK but we are saving on analyzer loads and Roslyn already has a VSIX with a DLL).
2324
Implementations of this interface are imported by Roslyn and can redirect analyzer DLL loading.
2425

25-
- The SDK's implementation of `IAnalyzerAssemblyRedirector` will redirect any analyzer DLL matching some pattern
26-
to the corresponding DLL deployed via the VSIX.
26+
- That implementation of `IAnalyzerAssemblyRedirector` will redirect any analyzer DLL matching some pattern
27+
to the corresponding DLL deployed with VS.
2728
Details of this process are described below.
2829

2930
- Note that when `IAnalyzerAssemblyRedirector` is involved, Roslyn is free to not use shadow copy loading and instead load the DLLs directly.
@@ -33,7 +34,7 @@ Targeting an SDK (and hence also loading analyzers) with newer major version in
3334

3435
## Details
3536

36-
The VSIX contains some analyzers, for example:
37+
The VS deployment contains some analyzers, for example:
3738

3839
```
3940
AspNetCoreAnalyzers\analyzers\dotnet\cs\Microsoft.AspNetCore.App.Analyzers.dll
@@ -69,7 +70,7 @@ C:\Program Files\dotnet\sdk\9.0.100-preview.5.24307.3\Sdks\Microsoft.NET.Sdk\ana
6970
will be redirected to
7071

7172
```
72-
{VSIX}\SDKAnalyzers\Sdks\Microsoft.NET.Sdk\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll
73+
{InstallDir}\SDKAnalyzers\Sdks\Microsoft.NET.Sdk\analyzers\Microsoft.CodeAnalysis.NetAnalyzers.dll
7374
```
7475

7576
where `metadata.json` has `"SDKAnalyzers": "9.0.100-dev"`, because
@@ -83,6 +84,5 @@ Analyzers that cannot be matched will continue to be loaded from the SDK
8384
### Implementation
8485

8586
Analyzer DLLs are contained in transport package `VS.Redist.Common.Net.Core.SDK.RuntimeAnalyzers`.
86-
The redirecting logic lives in "system" VS extension `Microsoft.Net.Sdk.AnalyzerRedirecting`.
8787

8888
[torn-sdk]: https://github.com/dotnet/sdk/issues/42087

documentation/general/dotnet-run-file.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,16 @@ The directives are processed as follows:
248248
(because `ProjectReference` items don't support directory paths).
249249
An error is reported if zero or more than one projects are found in the directory, just like `dotnet reference add` would do.
250250

251+
Directive values support MSBuild variables (like `$(..)`) normally as they are translated literally and left to MSBuild engine to process.
252+
However, in `#:project` directives, variables might not be preserved during [grow up](#grow-up),
253+
because there is additional processing of those directives that makes it technically challenging to preserve variables in all cases
254+
(project directive values need to be resolved to be relative to the target directory
255+
and also to point to a project file rather than a directory).
256+
Note that it is not expected that variables inside the path change their meaning during the conversion,
257+
so for example `#:project ../$(LibName)` is translated to `<ProjectReference Include="../../$(LibName)/Lib.csproj" />` (i.e., the variable is preserved).
258+
However, variables at the start can change, so for example `#:project $(ProjectDir)../Lib` is translated to `<ProjectReference Include="../../Lib/Lib.csproj" />` (i.e., the variable is expanded).
259+
In other directives, all variables are preserved during conversion.
260+
251261
Because these directives are limited by the C# language to only appear before the first "C# token" and any `#if`,
252262
dotnet CLI can look for them via a regex or Roslyn lexer without any knowledge of defined conditional symbols
253263
and can do that efficiently by stopping the search when it sees the first "C# token".

0 commit comments

Comments
 (0)