luminous-software / start-page-plus-64-bit

64-bit version of the original Start Page+ (for VS 2022+)
MIT License
5 stars 1 forks source link

[BUG] VS performance warning at startup #12

Closed MagicAndre1981 closed 1 year ago

MagicAndre1981 commented 1 year ago

Describe the bug

when I start VS 2022 I now get a warning, that Start Page+ slows down Visual Studio startup

Expected behavior

no warning

Screenshots

image

Desktop (please complete the following information):

yannduran commented 1 year ago

I've seen this occasionally when I'm debugging in the experimental instance, where it just takes longer to get everything ready, or if the code execution has stopped at a break point.

But I don't recall seeing it when the version I've installed in my VS was compiled as release. Maybe I've seen it if the version I've installed to test was compiled as debug, but I don't recall that happening.

How often do you see that message? 135 seconds is a LOT!

I just checked inside the v0.19 vsix container & it has pdb files, so it's a debug version. I'll make sure that v0.20 is a release version.

MagicAndre1981 commented 1 year ago

I was also suprised when I saw the message, there was no 135s delay, start was normal.

yannduran commented 1 year ago

It wouldn't the first time that VS has been known to lie ;-)

MagicAndre1981 commented 1 year ago

I just checked inside the v0.19 vsix container & it has pdb files, so it's a debug version. I'll make sure that v0.20 is a release version.

Maybe this is the cause of #10? So debug includes the dlls and release not?

yannduran commented 1 year ago

No, both debug & release versions normally contain all the required dlls in the vsix. The debug version also contains the debug files (*.pdb).

Btw, the dlls that you see in the bin/debug & bin/release folders don't really mean anything. It's only what's in the vsix that matters, because that's all you'll ever need to install the extension.

In fact there are a couple of Nuget packages that have ExcludedAssets=runtime manually added in the project file. Mads has advised us that without this, it just makes the bin folders messy, and makes the overall vsix file size much bigger. The Community.VisualStudio.Toolkit Nuget package is a good example of this. Without ExcludedAssets=runtime, you get dlls for the entire VS SDK, on which the toolkit is based. The Community.VisualStudio.Toolkit dll file already has those classes compiled into it, so there's no need for the runtime files to be included in the vsix separately.

Normally that applies to any dependencies that an assembly requires. For some reason, even explicitly adding packages for the "missing" dlls to satisfy the errors we're seeing isn't including those dlls in the vsix, and I can't for the life of me figure out why.

So when I add the Microsoft.Extensions.DependencyInjection package, there's no need to also add any of its dependencies (such as Microsoft.Extensions.DependencyInjection.Abstractions. I hope I've explained that well enough.

yannduran commented 1 year ago

Are you still having this problem with v0.16.20?

MagicAndre1981 commented 1 year ago

The entry is gone

image

Looks like this was really a debug/release build issue. I'll close it for now and reopen it if it occurs later again.