ligershark / template-builder

This project will output a NuGet package which can be used to help create Visual Studio Item Templates and Project templates
Other
42 stars 28 forks source link

Package Installation Errors #48

Closed natebunton closed 9 years ago

natebunton commented 10 years ago

When I try to install the TemplateBuilder package I get errors...

PM> install-package TemplateBuilder -pre Installing 'TemplateBuilder 1.0.3.47-beta'. Successfully installed 'TemplateBuilder 1.0.3.47-beta'. Adding 'TemplateBuilder 1.0.3.47-beta' to VSIXProject2. Successfully added 'TemplateBuilder 1.0.3.47-beta' to VSIXProject2. *** Adding template-builder Adding item template asset tag to .vsixmanifest file c:\users\nbunton\documents\visual studio 2013\Projects\VSIXProject2\VSIXProject2\source.extension.vsixmanifest Method invocation failed because [System.Object[]] doesn't contain a method named 'AppendChild'. At C:\users\nbunton\documents\visual studio 2013\Projects\VSIXProject2\packages\TemplateBuilder.1.0.3.47-beta\tools\template-builder.psm1:185 char:65

For more info how to enable TemplateBuilder on build servers see http://sedodream.com/2013/06/06/HowToSimplifyShippingBuildUpdatesInANuGetPackage.aspx

Shane88 commented 10 years ago

I'm getting the exact same error when trying to install version 1.0.3.54-beta.

vip32 commented 10 years ago

getting the exact same thing, and afterwards the template will not show in VS. Probably because of this installation error. (strange: redoing the same steps on a different box worked well, no error)

sayedihashimi commented 9 years ago

Sorry for the delay here. What's the common denominator here? I've never been able to reproduce this.

Some questions.

Shane88 commented 9 years ago

Just tried this again on Visual Studio 2013 Premium Update 3. New project not under source control and there were no errors. When I was getting errors with this I think I was on Update 2 but cannot be sure. The readme that opens indicates it will install a demo template into a ItemTemplates\ folder but this doesn't appear to be the case? I'm not sure if I have this setup properly, I just added the package into an empty Class Library project.

mbukosky commented 9 years ago

Getting the same error here. I am using VS 2013 Ultimate with Update 3, no source control. I also tried installing older releases but I still keep getting the same error. Any ideas?

mttmccb commented 9 years ago

Same problem here, annoyingly I got it working at least once and then it stopped working, I haven't changed my setup. I'm also on VS 2013 Ultimate with Update 3.

sayedihashimi commented 9 years ago

I just uploaded 1.0.3.57-beta can you try it? I think it should fix this.

mttmccb commented 9 years ago

Same error :(

PM> install-package TemplateBuilder -pre
Installing 'TemplateBuilder 1.0.3.57-beta'.
Successfully installed 'TemplateBuilder 1.0.3.57-beta'.
Adding 'TemplateBuilder 1.0.3.57-beta' to VSIXProject3.
Successfully added 'TemplateBuilder 1.0.3.57-beta' to VSIXProject3.
*********** Adding template-builder
    Checking out file [C:\Users\M\Repos\Templates\VSIXProject3\VSIXProject3\VSIXProject3.csproj]
    Adding item template asset tag to .vsixmanifest file C:\Users\M\Repos\Templates\VSIXProject3\VSIXProject3\source.extension.vsixmanifest
    Checking out file [C:\Users\M\Repos\Templates\VSIXProject3\VSIXProject3\source.extension.vsixmanifest]
Method invocation failed because [System.String] doesn't contain a method named 'AppendChild'.
At C:\Users\M\Repos\Templates\VSIXProject3\packages\TemplateBuilder.1.0.3.57-beta\tools\template-builder.psm1:185 char:65
+         (GetOrCreateAssetsElement -vsixXml $vsixXml).AppendChild <<<< ($newElement)
    + CategoryInfo          : InvalidOperation: (AppendChild:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

    Adding project template asset tag to .vsixmanifest file C:\Users\M\Repos\Templates\VSIXProject3\VSIXProject3\source.extension.vsixmanifest
    Checking out file [C:\Users\M\Repos\Templates\VSIXProject3\VSIXProject3\source.extension.vsixmanifest]
Method invocation failed because [System.String] doesn't contain a method named 'AppendChild'.
At C:\Users\M\Repos\Templates\VSIXProject3\packages\TemplateBuilder.1.0.3.57-beta\tools\template-builder.psm1:226 char:65
+         (GetOrCreateAssetsElement -vsixXml $vsixXml).AppendChild <<<< ($newElement)
    + CategoryInfo          : InvalidOperation: (AppendChild:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

    TemplateBuilder has been installed into project [C:\Users\M\Repos\Templates\VSIXProject3\VSIXProject3\VSIXProject3.csproj]
sayedihashimi commented 9 years ago

OK I still have no idea what's happening but in ac498c9fd6fe3689c81ae5dedbd63a32006ca23a I wrapped it with a try/catch. I've released it as 1.0.3.58-beta. Can you try it? Does this help?

mttmccb commented 9 years ago

Yes that helped, it still failed, but gracefully. I did try to do that manually before but it didn't resolve the issue.

Thanks for looking into this, I'm looking forward to setting up templates that will me out.

I wonder what causes it...

domholmes commented 9 years ago

Is there a workaround to this to get up and running with a multi-project template? I get the same error as the original poster and no template visible in Visual Studio (2013 Premium Update 4)

sayedihashimi commented 9 years ago

@domholmes did you update the .vsixmanifest as mentioned in the readme? If so that should be all that's required.

domholmes commented 9 years ago

@sayedihashimi I updated the .vsixmanifest with Asset lines mentioned in the readme and completed the rest of the steps in the tutorial, but nothing shows in the list of templates when debugging.

My file structure is identical to the tutorial, any ideas how to debug what is wrong?

image

image

Thanks

EDIT: Just sussed it. The definitions file came out as 'CSharp.vstemplat-' (missing the e on the end). Not entirely sure how this happened.

codewithtyler commented 9 years ago

@domholmes The definition files are created that way because SideWaffle adds a vstemplate file for each supported language. You have to rename the files of the languages you want your template to support. Until this is done, the vstemplate file will remain disabled. It's just a simple way of adding all the vstemplate files you might possibly need then letting you select the ones you want.

@natebunton I know your original post was almost a year ago, but I just wanted to check to see if you were able to come up with a workaround? If not, then I recommend updating to version 1.1.3 of TemplateBuilder, which was just released the other day.

natebunton commented 9 years ago

I have not tried recently. I will have to try the latest release.

On Mar 5, 2015, at 12:48 PM, Tyler Hughes notifications@github.com wrote:

@domholmes The definition files are created that way because SideWaffle adds a vstemplate file for each supported language. You have to rename the files of the languages you want your template to support. Until this is done, the vstemplate file will remain disabled. It's just a simple way of adding all the vstemplate files you might possibly need then letting you select the ones you want.

@natebunton I know your original post was almost a year ago, but I just wanted to check to see if you were able to come up with a workaround? If not, then I recommend updating to version 1.1.3 of TemplateBuilder, which was just released the other day.

— Reply to this email directly or view it on GitHub.

sayedihashimi commented 9 years ago

It should be fixed in the latest release. Please reopen if not.