Skip to content

Conversation

@chsienki
Copy link
Member

  • Split out service hub components into x64 and arm64 projects
  • Extract out some common VSIX strings
  • Only deploy service hub components on official builds
  • Setup extension VSIX so that it deploys service hub components for developer builds

- Split out service hub components into x64 and arm64 projects
- Extract out some common VSIX strings
- Only deploy service hub components on official builds
- Setup extension VSIX so that it deploys service hub components for developer builds
@chsienki chsienki requested a review from a team as a code owner October 23, 2025 23:34
</Metadata>
<Installation AllUsers="true" Experimental="true">
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,)">
<ProductArchitecture>amd64</ProductArchitecture>
Copy link
Member

Choose a reason for hiding this comment

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

This says "amd", is that right? If so, consider adding a comment.

Copy link
Member Author

Choose a reason for hiding this comment

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

Hmm, nope thats a typo. Would be helpful if I had an arm machine to work on (though the VS build succeeded so it might not actually matter? shrug)

Copy link
Member Author

Choose a reason for hiding this comment

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

I think I'm going to open an issue to track looking at how much of the vsixmanifest is actually necessary, as this is really an insertion VSIX, not an actual deployable one.

I also think we should rename these project to something like MS.VS.RazorExtension.ServiceHub to make it clearer what they actually are. But I think I'll do that in a follow up.

@@ -199,6 +186,20 @@
</ProjectReference>
</ItemGroup>

<!-- We reference the core components only for developer builds. In the official build they are inserted via the corecomponents VSIX alongside this VSIX -->
<ItemGroup>
<ProjectReference Include="..\Microsoft.CodeAnalysis.Remote.Razor\Microsoft.CodeAnalysis.Remote.Razor.csproj" Condition="'$(OfficialBuildId)' == ''">
Copy link
Member

Choose a reason for hiding this comment

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

Thinking out loud: How does OfficialBuildId compare to CI as a check? I wonder if this will adversely affect things like toolset or integration test pipelines, that aren't official but also aren't developer builds? Or maybe they are??

Copy link
Member Author

Choose a reason for hiding this comment

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

Toolset shouldn't matter as it doesn't use VS and this change only affects that. Integration presumably does deploy it to VS, though I imagine its more an F5 deploy than an actual VS insertion?

Copy link
Member

Choose a reason for hiding this comment

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

Yeah, I would say its definitely akin to a developer build, so this is probably the right choice.

Copy link
Member

Choose a reason for hiding this comment

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

This question isn't exactly related to this change, but I want to ask since there's so much nice work happening in this pull request.

Does this still need to target netstandard2.0? Do we actually deploy netstandard2.0 for this layer to any product?

Copy link
Member Author

Choose a reason for hiding this comment

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

Oh that's a great question. I took a look, and I don't think it does. I'm going to open an issue for that and do it in another PR though, because I don't want to break anything 😆

Copy link
Member Author

Choose a reason for hiding this comment

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

Filed #12391 to follow up.

Copy link
Member

Choose a reason for hiding this comment

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

I bet we still need it for tooling tests, until we've untangled that mess too.

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.

3 participants