Giter Club home page Giter Club logo

Comments (23)

davkean avatar davkean commented on July 29, 2024

Same for VB:

image

tag @tmeschter @jasonmalinowski

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

Yeah I've been seeing this too. @mikadumot or @olegtk any idea where this template lives?

from templates.

tmeschter avatar tmeschter commented on July 29, 2024

I think those live in https://github.com/dotnet/templates.

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

@davkean @tmeschter So who does this bug get assigned to then?

from templates.

davkean avatar davkean commented on July 29, 2024

Who owns this?

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

I was hoping you knew. This is a repo I didn't really know existed. :-)

from templates.

tmeschter avatar tmeschter commented on July 29, 2024

Project system owns this.

from templates.

tmeschter avatar tmeschter commented on July 29, 2024

@jmarolf Any idea what might be wrong here?

from templates.

jmarolf avatar jmarolf commented on July 29, 2024

dunno, I haven't changed anything in setup for over a year. For item templates to show up in the default items category and work, they need to be copied to the Common7\IDE\NewFileItems folder. The only way I know how to do that is with a vsdir file.

So the name for the item template should either be coming from this vsdir or this template file.

Can we confirm that this package from here is being installed/deployed?

I expect this resource string to load:

from templates.

davkean avatar davkean commented on July 29, 2024

I compared the working version against the new version and they are identical apart from a version number changing 15.8.0.0 -> 16.3.0.0 in the dll. The package (looks) to be installed.

Working:
image

Non-working:
image

from templates.

davkean avatar davkean commented on July 29, 2024

Can other folks repro this?

from templates.

jmarolf avatar jmarolf commented on July 29, 2024

@davkean I can, I'll take a look on monday. There must be something I am not seeing that has changed

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

I can repro this too, so absolutely a bug.

from templates.

jmarolf avatar jmarolf commented on July 29, 2024

This bug is caused by this setting not being respected during compilation:

What is in the file:

"CodeBase"="$PackageFolder$\Microsoft.VisualStudio.Templates.Editorconfig.Wizard.Setup.dll"

What gets installed:

"Assembly"="Microsoft.VisualStudio.Templates.Editorconfig.Wizard.Setup, Version=16.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

from templates.

jmarolf avatar jmarolf commented on July 29, 2024

I assume that this is because this target does not exist in arcade?

<Target Name="PkgdefProjectOutputGroup" Outputs="@(PkgdefOutputGroupOutput)">
<ItemGroup>
<PkgdefOutputGroupOutput Include="ResourcePackage.pkgdef" />
</ItemGroup>
</Target>

@tmat what is the correct way to include a pkgdef file in arcade?

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

The PkgdefOutputGroup is only needed if you're doing generation automatically; if you're manually specifying it then you can just directly state it your .vsixmanifest.

If you're seenig it switch from Codebase to Assembly, that leads me to believe that either:

  1. You're not specifying UseCodebase somewhere and want generation, or
  2. You don't want generation at all, but are for some reason unintentionally using generation.

from templates.

dmonroym avatar dmonroym commented on July 29, 2024

@jasonmalinowski Is there any reason for this behavior to have changed if this code's not been changed in a while?

With regard to your comments:

You're not specifying UseCodebase somewhere and want generation

From what I'm seeing if I try specifying UseCodebase I get the following error: UseCodebase should not be true for VSIX project that turns NGEN on

You don't want generation at all, but are for some reason unintentionally using generation.

Is there any way to validate if we're using generation?

from templates.

jmarolf avatar jmarolf commented on July 29, 2024

Is there any reason for this behavior to have changed if this code's not been changed in a while?

This is likely an arcade change.

We generate a pkgdef for a VSIX and include an manually created pkgdef because solution items are not supported by the VS SDK.

I assume this is not supported in arcade

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

So things being loaded by a CodeBase causes issues with ngen images; Roslyn for example doesn't have a Codebase entry in our Packages key, it does point to the assembly name. Then there's also an attribute that says when loading our assembly where to find it. That explains Arcade's message: if you're ngenning, you need to use the Assembly one and have the additional entry.

manually created pkgdef because solution items are not supported by the VS SDK.

What do you mean? Your pkgdef is just defining a generic package, there's nothing special about it. I'm not sure why you wouldn't be generating it...

from templates.

jmarolf avatar jmarolf commented on July 29, 2024

Looking at this, its likely this was always wrong and it was only happenstance that the correct pkgdef was selected. @jasonmalinowski what is the right attribute / assets specification to get this to be generated?

[$RootKey$\Packages\{A435156A-8EA1-4A32-BC2E-118681C4DEE8}]
@="ResourcePackage"
"InprocServer32"="$WinDir$\SYSTEM32\MSCOREE.DLL"
"Class"="EditorconfigResourcePackage.EditorconfigResourcePackage"
"CodeBase"="$PackageFolder$\Microsoft.VisualStudio.Templates.Editorconfig.Wizard.Setup.dll"
"AllowsBackgroundLoad"=dword:00000001

from templates.

jasonmalinowski avatar jasonmalinowski commented on July 29, 2024

You've already got this:

[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
[InstalledProductRegistration("#110", "#112", "1.0")]
[Guid(PackageGuidString)]

Which will spit the package node like that; you'll want to remove the InstalledProductRegistration though or else you'll have a useless entry in Help > About.

If you really want a CodeBase attribute though you'll then need to set UseCodebase = true, and then turn off ngen because Arcade is otherwise going to complain. If the package is indeed only providing resources, then I can't imagine ngen is actually going to help anything...

from templates.

davkean avatar davkean commented on July 29, 2024

We resolved this, and ended up taking that approach while deleting the "hand-coded" pkgdef. I also saw the InstalledProductRegistation and made exactly the same comment. :)

from templates.

davidwengier avatar davidwengier commented on July 29, 2024

Fixed in #167

from templates.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.