Skip to content
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

Remove SDK Workload from Aspire 9.0 #5773

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

joperezr
Copy link
Member

@joperezr joperezr commented Sep 18, 2024

This is still Work-in-progress and not ready for review

Description

One of the goals for Aspire 9.0 is to no longer require an SDK Workload to be installed in order to create/build/run .NET Aspire applications, especially given after 8.2.0 all it has is the .NET Aspire templates (which can also be inserted into Visual Studio or installed separately) and the Aspire.Hosting.SDK (which could also just be an SDK reference in AppHost projects). Given that, with Aspire 9.0 we are no longer planning to ship a workload, and instead just slightly modify how the AppHost projects reference the SDK in order to allow consumers to build and run applications without needing to install a workload.

This PR contains the required changes to the templates, as well as it removes the production of the Aspire workload and deals with all of the fallout from that. The goal is to merge this in time for .NET Aspire's 9.0 RC1 release later this month, so that we can better test and ensure everything is working as expected.

cc: @radical @eerhardt @DamianEdwards @maddymontaquila @mitchdenny @davidfowl

Fixes #5444

Checklist

  • Is this feature complete?
    • Yes. Ready to ship.
    • No. Follow-up changes expected.
  • Are you including unit tests for the changes and scenario tests if relevant?
    • Yes
    • No
  • Did you add public API?
    • Yes
      • If yes, did you have an API Review for it?
        • Yes
        • No
      • Did you add <remarks /> and <code /> elements on your triple slash comments?
        • Yes
        • No
    • No
  • Does the change make any security assumptions or guarantees?
    • Yes
      • If yes, have you done a threat model and had a security review?
        • Yes
        • No
    • No
  • Does the change require an update in our Aspire docs?
    • Yes
      • Link to aspire-docs issue:
    • No
Microsoft Reviewers: Open in CodeFlow

eng/Build.props Outdated Show resolved Hide resolved
@joperezr joperezr marked this pull request as draft September 18, 2024 22:52
@@ -10,7 +10,7 @@
<SkipEventHubsEmulation Condition="'$(SkipEventHubsEmulation)' == '' and ('$(RepoRoot)' == '' or '$(ContinuousIntegrationBuild)' == 'true' or '$(CODESPACES)' == 'true')">true</SkipEventHubsEmulation>
</PropertyGroup>

<ItemGroup Condition="'$(IsAspireHost)' == 'true' and '$(SkipDashboardProjectReference)' != 'true'">
<ItemGroup Condition="$(MSBuildProjectName.EndsWith('AppHost')) and '$(SkipDashboardProjectReference)' != 'true'">
Copy link
Member

Choose a reason for hiding this comment

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

Can we make the Aspire.Hosting.AppHost package add something, e.g. property or project capability, to make conditions like a bit more concrete?


<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
Copy link
Member

Choose a reason for hiding this comment

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

Are we confident nothing is relying on this property to be set to enable certain behaviors, e.g. in Visual Studio? Hopefully they're all using the project capability which is still added by the SDK but figured we should verify.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove Aspire.Hosting.SDK from the Workload
2 participants