Skip to content

Commit dc8ba75

Browse files
committed
fix: VSIX for VS2022+
1 parent e023d87 commit dc8ba75

File tree

13 files changed

+35
-80
lines changed

13 files changed

+35
-80
lines changed

sources/Directory.Packages.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<PackageVersion Include="Microsoft.NETCore.Platforms" Version="7.0.4" />
1616
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
1717
<PackageVersion Include="PolySharp" Version="1.15.0" />
18-
<PackageVersion Include="ServiceWire" Version="5.5.4" />
18+
<PackageVersion Include="ServiceWire" Version="5.6.0" />
1919
<PackageVersion Include="SharpDX" Version="4.2.0" />
2020
<PackageVersion Include="SharpDX.D3DCompiler" Version="4.2.0" />
2121
<PackageVersion Include="SharpDX.Direct2D1" Version="4.2.0" />
@@ -60,7 +60,7 @@
6060
<PackageVersion Include="Newtonsoft.Json" Version="13.0.4" />
6161
<PackageVersion Include="NuGet.Commands" Version="7.0.0" />
6262
<PackageVersion Include="NuGet.Configuration" Version="7.0.0" />
63-
<PackageVersion Include="NuGet.PackageManagement" Version="6.14.0" />
63+
<PackageVersion Include="NuGet.PackageManagement" Version="7.0.0" />
6464
<PackageVersion Include="NuGet.Protocol" Version="7.0.0" />
6565
<PackageVersion Include="NuGet.Resolver" Version="7.0.0" />
6666
<PackageVersion Include="Silk.NET.Assimp" Version="2.22.0" />

sources/assets/Stride.Core.Packages/NugetStore.cs

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,7 @@ public static void UpdatePackageSource(ISettings settings, string name, string u
156156
public enum VsixSupportedVsVersion
157157
{
158158
VS2019,
159-
VS2022,
160-
VS2026,
159+
VS2022AndNext,
161160
}
162161

163162
/// <summary>
@@ -170,10 +169,7 @@ public enum VsixSupportedVsVersion
170169
{ VsixSupportedVsVersion.VS2019, (new PackageVersion("4.0"), new PackageVersion("4.1")) },
171170

172171
// The VSIX for VS2022 is available in Stride packages of version 4.1.x and later.
173-
{ VsixSupportedVsVersion.VS2022, (new PackageVersion("4.1"), new PackageVersion("4.3")) },
174-
175-
// The VSIX for VS2026 is available in Stride packages of version 4.3.x and later.
176-
{ VsixSupportedVsVersion.VS2026, (new PackageVersion("4.3"), new PackageVersion(int.MaxValue, 0, 0, 0)) },
172+
{ VsixSupportedVsVersion.VS2022AndNext, (new PackageVersion("4.1"), new PackageVersion(int.MaxValue, 0, 0, 0)) },
177173
};
178174

179175
/// <summary>
@@ -347,13 +343,6 @@ public static string GetPackageVersionVariable(string packageId, string packageV
347343
{
348344
Name = Path.GetFileNameWithoutExtension(projectPath), // make sure this package never collides with a dependency
349345
FilePath = projectPath,
350-
Dependencies =
351-
[
352-
new()
353-
{
354-
LibraryRange = new LibraryRange(packageId, new VersionRange(version.ToNuGetVersion()), LibraryDependencyTarget.Package),
355-
}
356-
],
357346
RestoreMetadata = new ProjectRestoreMetadata
358347
{
359348
ProjectPath = projectPath,
@@ -370,7 +359,17 @@ public static string GetPackageVersionVariable(string packageId, string packageV
370359
};
371360
foreach (var targetFramework in targetFrameworks)
372361
{
373-
spec.TargetFrameworks.Add(new TargetFrameworkInformation { FrameworkName = NuGetFramework.Parse(targetFramework) });
362+
spec.TargetFrameworks.Add(new TargetFrameworkInformation
363+
{
364+
FrameworkName = NuGetFramework.Parse(targetFramework),
365+
Dependencies =
366+
[
367+
new()
368+
{
369+
LibraryRange = new LibraryRange(packageId, new VersionRange(version.ToNuGetVersion()), LibraryDependencyTarget.Package),
370+
}
371+
],
372+
});
374373
}
375374

376375
using (var context = new SourceCacheContext { MaxAge = DateTimeOffset.UtcNow })

sources/launcher/Stride.Launcher/ViewModels/LauncherViewModel.cs

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ internal LauncherViewModel(IViewModelServiceProvider serviceProvider, NugetStore
5656
DisplayReleaseAnnouncement();
5757

5858
VsixPackage2019 = new VsixVersionViewModel(this, store, store.VsixPackageId, NugetStore.VsixSupportedVsVersion.VS2019);
59-
VsixPackage2022 = new VsixVersionViewModel(this, store, store.VsixPackageId, NugetStore.VsixSupportedVsVersion.VS2022);
60-
VsixPackage2026 = new VsixVersionViewModel(this, store, store.VsixPackageId, NugetStore.VsixSupportedVsVersion.VS2026);
59+
VsixPackage2022 = new VsixVersionViewModel(this, store, store.VsixPackageId, NugetStore.VsixSupportedVsVersion.VS2022AndNext);
6160
// Commands
6261
InstallLatestVersionCommand = new AnonymousTaskCommand(ServiceProvider, InstallLatestVersion) { IsEnabled = false };
6362
OpenUrlCommand = new AnonymousTaskCommand<string>(ServiceProvider, OpenUrl);
@@ -111,8 +110,6 @@ public void Dispose()
111110

112111
public VsixVersionViewModel VsixPackage2022 { get; }
113112

114-
public VsixVersionViewModel VsixPackage2026 { get; }
115-
116113
public StrideVersionViewModel ActiveVersion { get { return activeVersion; } set { SetValue(ref activeVersion, value); Dispatcher.InvokeAsync(() => StartStudioCommand.IsEnabled = (value != null) && value.CanStart); } }
117114

118115
public ObservableList<RecentProjectViewModel> RecentProjects { get; } = new ObservableList<RecentProjectViewModel>();
@@ -198,7 +195,6 @@ await RunLockTask(async () =>
198195
await RetrieveServerStrideVersions();
199196
await VsixPackage2019.UpdateFromStore();
200197
await VsixPackage2022.UpdateFromStore();
201-
await VsixPackage2026.UpdateFromStore();
202198
await CheckForFirstInstall();
203199

204200
await newsTask;
@@ -515,18 +511,8 @@ await Dispatcher.InvokeTask(async () =>
515511
var versionToInstall = StrideVersions.First(x => x.CanBeDownloaded);
516512
await versionToInstall.Download(true);
517513

518-
// if VS2026 is installed (version 18.x)
519-
if (!VsixPackage2026.IsLatestVersionInstalled && VsixPackage2026.CanBeDownloaded && VisualStudioVersions.AvailableInstances.Any(ide => ide.InstallationVersion.Major == 18))
520-
{
521-
result = await ServiceProvider.Get<IDialogService>().MessageBoxAsync(string.Format(Strings.AskInstallVSIX, "2026"), MessageBoxButton.YesNo, MessageBoxImage.Question);
522-
if (result == MessageBoxResult.Yes)
523-
{
524-
await VsixPackage2026.ExecuteAction();
525-
}
526-
}
527-
528-
// if VS2022 is installed (version 17.x)
529-
if (!VsixPackage2022.IsLatestVersionInstalled && VsixPackage2022.CanBeDownloaded && VisualStudioVersions.AvailableInstances.Any(ide => ide.InstallationVersion.Major == 17))
514+
// if VS2022+ is installed (version 17.x+)
515+
if (!VsixPackage2022.IsLatestVersionInstalled && VsixPackage2022.CanBeDownloaded && VisualStudioVersions.AvailableInstances.Any(ide => ide.InstallationVersion.Major >= 17))
530516
{
531517
result = await ServiceProvider.Get<IDialogService>().MessageBoxAsync(string.Format(Strings.AskInstallVSIX, "2022"), MessageBoxButton.YesNo, MessageBoxImage.Question);
532518
if (result == MessageBoxResult.Yes)

sources/launcher/Stride.Launcher/ViewModels/VsixVersionViewModel.cs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,8 @@ private string FormatStatus(string status)
8787
case NugetStore.VsixSupportedVsVersion.VS2019:
8888
vsixTarget = string.Format(vsixTarget, "2019");
8989
break;
90-
case NugetStore.VsixSupportedVsVersion.VS2022:
91-
vsixTarget = string.Format(vsixTarget, "2022");
92-
break;
93-
case NugetStore.VsixSupportedVsVersion.VS2026:
94-
vsixTarget = string.Format(vsixTarget, "2026");
90+
case NugetStore.VsixSupportedVsVersion.VS2022AndNext:
91+
vsixTarget = string.Format(vsixTarget, "2022+");
9592
break;
9693
}
9794
return $"{vsixTarget}: {status}";

sources/launcher/Stride.Launcher/Views/LauncherWindow.xaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,6 @@
508508
<StackPanel >
509509
<ContentControl Grid.Column="0" Margin="2" Content="{Binding VsixPackage2019}"/>
510510
<ContentControl Grid.Column="1" Margin="2" Content="{Binding VsixPackage2022}"/>
511-
<ContentControl Grid.Column="1" Margin="2" Content="{Binding VsixPackage2026}"/>
512511
</StackPanel>
513512
</Border>
514513
<Border BorderBrush="{StaticResource TileBorderBrush}" DockPanel.Dock="Bottom">

sources/tools/Stride.VisualStudio.Commands.Interfaces/Stride.VisualStudio.Commands.Interfaces.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<Import Project="..\..\targets\Stride.props" />
33

44
<PropertyGroup>
5-
<TargetFrameworks>net10.0-windows;net472</TargetFrameworks>
5+
<TargetFrameworks>$(StrideEditorTargetFramework);net472</TargetFrameworks>
66
<RootNamespace>Stride.VisualStudio.Commands</RootNamespace>
77
</PropertyGroup>
88

sources/tools/Stride.VisualStudio.Package.Tests/Stride.VisualStudio.Package.Tests.csproj

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<Project>
22
<Import Project="..\..\targets\Stride.props" />
33
<PropertyGroup>
4-
<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>
54
<StrideAssemblyProcessor>false</StrideAssemblyProcessor>
65
<TargetFramework>net472</TargetFramework>
76
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
@@ -15,36 +14,11 @@
1514
<StrideCompilerTargetsEnable Condition="'$(StridePackageBuild)' == 'true'">false</StrideCompilerTargetsEnable>
1615
</PropertyGroup>
1716
<ItemGroup>
18-
<PackageReference Include="EnvDTE" Version="17.0.31902.203">
19-
<EmbedInteropTypes>True</EmbedInteropTypes>
20-
</PackageReference>
21-
<PackageReference Include="EnvDTE80" Version="17.0.31902.203">
22-
<EmbedInteropTypes>True</EmbedInteropTypes>
23-
</PackageReference>
24-
<PackageReference Include="Microsoft.VisualStudio.Imaging" Version="14.0.23205" />
25-
<PackageReference Include="Microsoft.VisualStudio.OLE.Interop" Version="7.10.6071" />
26-
<PackageReference Include="Microsoft.VisualStudio.Shell.14.0" Version="14.0.23205" />
27-
<PackageReference Include="Microsoft.VisualStudio.Shell.Immutable.10.0" Version="10.0.30319" />
28-
<PackageReference Include="Microsoft.VisualStudio.Shell.Immutable.11.0" Version="11.0.50727" />
29-
<PackageReference Include="Microsoft.VisualStudio.Shell.Immutable.12.0" Version="12.0.21003" />
30-
<PackageReference Include="Microsoft.VisualStudio.Shell.Immutable.14.0" Version="14.0.23205" />
31-
<PackageReference Include="Microsoft.VisualStudio.Shell.Interop" Version="7.10.6071" />
32-
<PackageReference Include="Microsoft.VisualStudio.Shell.Interop.8.0" Version="8.0.50727" />
33-
<PackageReference Include="Microsoft.VisualStudio.Shell.Interop.9.0" Version="9.0.30729" />
34-
<PackageReference Include="Microsoft.VisualStudio.TextManager.Interop" Version="7.10.6070" />
35-
<PackageReference Include="Microsoft.VisualStudio.TextManager.Interop.8.0" Version="8.0.50727" />
36-
<PackageReference Include="Microsoft.VisualStudio.Threading" Version="14.0.51107" />
37-
<PackageReference Include="Microsoft.VisualStudio.Utilities" Version="14.0.23205" />
38-
<PackageReference Include="Microsoft.VisualStudio.Validation" Version="14.0.51103" />
39-
<PackageReference Include="xunit" Version="2.4.2-pre.12" />
40-
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
41-
<PackageReference Include="stdole" Version="7.0.3301">
42-
<EmbedInteropTypes>True</EmbedInteropTypes>
43-
</PackageReference>
44-
<PackageReference Include="Xunit.StaFact" Version="1.1.5-alpha" />
45-
<PackageReference Include="vslangproj" Version="17.0.31902.203">
46-
<EmbedInteropTypes>True</EmbedInteropTypes>
17+
<PackageReference Include="Microsoft.VisualStudio.SDK" ExcludeAssets="runtime">
18+
<IncludeAssets>compile; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
4719
</PackageReference>
20+
<PackageReference Include="xunit" />
21+
<PackageReference Include="xunit.runner.visualstudio" />
4822
</ItemGroup>
4923
<ItemGroup>
5024
<None Update="TestGenerator.sdsl">

sources/tools/Stride.VisualStudio.Package/Commands/StrideCommandsProxy.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,11 @@ internal static async Task<PackageInfo> FindStrideSdkDir(string solution, string
178178
{
179179
// Try both net10.0 and net472
180180
var success = false;
181-
foreach (var folder in new[] { "net10.0-windows", "net472" })
181+
foreach (var frameworkFolder in new[] { "net10.0-windows7.0", "net8.0-windows7.0", "net472" })
182182
{
183183
var logger = new Logger();
184184
var solutionRoot = Path.GetDirectoryName(solution);
185-
var (request, result) = await Task.Run(() => RestoreHelper.Restore(logger, NuGetFramework.ParseFolder(folder, DefaultFrameworkNameProvider.Instance), "win", packageName, new VersionRange(packageInfo.ExpectedVersion.ToNuGetVersion()), solutionRoot));
185+
var (request, result) = await Task.Run(() => RestoreHelper.Restore(logger, NuGetFramework.ParseFolder(frameworkFolder, DefaultFrameworkNameProvider.Instance), "win", packageName, new VersionRange(packageInfo.ExpectedVersion.ToNuGetVersion()), solutionRoot));
186186
if (result.Success)
187187
{
188188
packageInfo.SdkPaths.AddRange(RestoreHelper.ListAssemblies(result.LockFile));

sources/tools/Stride.VisualStudio.Package/Resources.Designer.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

sources/tools/Stride.VisualStudio.Package/Stride.VisualStudio.Package.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project>
1+
<Project>
22
<PropertyGroup>
33
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">18.0</VisualStudioVersion>
44
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>

0 commit comments

Comments
 (0)