Skip to content

Commit 775f769

Browse files
jamesmontemagnobaronfelmartincostellojongallowayCopilot
authored
Update sdk for preview 7 (#10002)
* Update sdk for preview 7 * add notes about any RID support in .NET tools * Update release-notes/10.0/preview/preview7/sdk.md Co-authored-by: Martin Costello <[email protected]> * Update release-notes/10.0/preview/preview7/sdk.md Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Chet Husk <[email protected]> Co-authored-by: Chet Husk <[email protected]> Co-authored-by: Martin Costello <[email protected]> Co-authored-by: Jon Galloway <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent eafe1e9 commit 775f769

File tree

1 file changed

+26
-3
lines changed
  • release-notes/10.0/preview/preview7

1 file changed

+26
-3
lines changed

release-notes/10.0/preview/preview7/sdk.md

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,35 @@
22

33
Here's a summary of what's new in the .NET SDK in this preview release:
44

5-
- [Feature](#feature)
5+
- [Use the `any` RuntimeIdentifier with platform-specific .NET Tools](#any-rid-in-multi-rid-tools)
66

77
.NET SDK updates in .NET 10:
88

99
- [What's new in .NET 10](https://learn.microsoft.com/dotnet/core/whats-new/dotnet-10/overview) documentation
1010

11-
## Feature
11+
## Use the `any` RuntimeIdentifier with platform-specific .NET Tools <a id="any-rid-in-multi-rid-tools">
1212

13-
Something about the feature
13+
The [platform-specific .NET Tools](https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/sdk#platform-specific-net-tools) feature released in preview 6
14+
is great for making sure your tools are optimized for specific platforms that you target ahead-of-time. However, there are times where you won't know
15+
all of the platforms that you'd like to target, or sometimes .NET itself will learn how to support a new platform, and you'd like your tool to be runnable there too!
16+
17+
The good news is that .NET is great at this - the platform at its heart is meant to support this kind of platform-agnostic execution. To make your new
18+
platform-specific .NET Tools work this way, you only need to add one thing to your project file: the `any` Runtime Identifier.
19+
20+
```diff
21+
<PropertyGroup>
22+
<RuntimeIdentifiers>
23+
linux-x64;
24+
linux-arm64;
25+
macos-arm64;
26+
win-x64;
27+
- win-arm64
28+
+ win-arm64;
29+
+ any
30+
</RuntimeIdentifiers>
31+
</PropertyGroup>
32+
```
33+
34+
This RuntimeIdentifier is at the 'root' of our platform-compatibility checking, and since it declares support for, well, _any_ platform, the tool that we package for you will be the most compatible kind of tool - a framework-dependent, platform-agnostic .NET dll, which requires a compatible .NET Runtime in order to execute. When you perform a `dotnet pack` to create your tool, you'll see a new package for the `any` RuntimeIdentifier appear alongside the other platform-specific packages and the top-level manifest package.
35+
36+
The eagle-eyed among you will note that this is the exact same kind of tool that you would make in .NET 9 and earlier, but now it fits into the overall goal of enabling platform-specific .NET Tools!

0 commit comments

Comments
 (0)