मैं कैसे एक VSIX परियोजना है कि कुछ कस्टम MVC परियोजना प्रकार जोड़ देगा का निर्माण करने के बारे में इस पोस्ट निम्नलिखित किया गया है:VSIX परियोजना टेम्पलेट्स और NuGet साथ संकुल
http://www.asp.net/mvc/tutorials/mvc-4/custom-mvc-templates
मैं भी कुछ अतिरिक्त Nuget संकुल शामिल करना चाहते हैं , इसलिए मैं this page from Nuget का पालन कर रहा था, लेकिन ऐसा लगता है कि यह वीएस -2010 के लिए है और मैं 2012 में काम कर रहा हूं।
मेरे पास प्रोजेक्ट बिल्डिंग है, और सब कुछ मेरी मशीन पर आड़ू काम करता है। इंस्टॉल काम करता है, नया प्रोजेक्ट प्रकार प्रकट होता है, और जब मैं इस प्रकार की एक नई प्रोजेक्ट बनाता हूं, तो सब कुछ पूरी तरह से काम करता है।
हालांकि, जब मैं एक सहकर्मी को इंस्टॉलर भेजता हूं, चीजें तोड़ती हैं। इंस्टॉलर काम करता है, वे नया प्रोजेक्ट प्रकार देखते हैं, लेकिन प्रोजेक्ट बनाने के दौरान उन्हें एक्सटेंशन नोड में किसी भी पैकेज को इंस्टॉल करने में सक्षम नहीं होने के बारे में त्रुटि संदेश मिलते हैं। मैंने पुष्टि की है कि एक्सटेंशन का उत्पाद आईडी सही है (मैंने जानबूझकर परीक्षण के दौरान .vstemplate फ़ाइल में इसे विकृत कर दिया और यह एक पूरी तरह से अलग त्रुटि दे दी)। मैंने विस्तार मैनिफेस्ट में संकुल जोड़े हैं, लेकिन ऐसा कोई फर्क नहीं पड़ता है। मैंने यह भी पुष्टि की है कि .nupkg फ़ाइलों को% ProgramFiles (x86)% \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ एक्सटेंशन पर तैनात किया गया है।
क्या करना है इसके बारे में कोई सुझाव?
कस्टम परियोजना की .vstemplate अनुभाग
<WizardExtension>
<Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
<FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
</WizardExtension>
<WizardData>
<packages repository="registry" keyName="AspNetMvc4VS11" isPreunzipped="true">
<package id="EntityFramework" version="5.0.0" skipAssemblyReferences="true" />
<package id="jQuery" version="1.8.2" />
<!-- snip -->
</packages>
<packages repository="extension" repositoryId="SampleExtensionId">
<package id="Unity" version="3.0.1304.0" targetFramework="net45" />
<package id="Unity.WebAPI" version="0.10" targetFramework="net45" />
<!-- snip -->
</packages>
</WizardData>
source.extension.vsixmanifest एसेट टैग
<Assets>
<Asset d:VsixSubPath="ProjectTemplates\CustomMVCTemplate" etc/>
<Asset Type="Unity.3.0.1304.0" Path="Packages\Unity.3.0.1304.0.nupkg" />
<Asset Type="Unity.WebAPI.0.10" Path="Packages\Unity.WebAPI.0.10.nupkg" />
<!-- snip -->
</Assets>
फ़ाइल संरचना
- एक्सटेंशन परियोजना
- संकुल
- NugetPackage 1
- NugetPackage 2
- आदि
- ProjectTemplates
- CustomMVCTemplate
- < कस्टम परियोजना फाइलों >
- CustomMVCTemplate
- source.extension.vsixmanifest
- संकुल
बहुत बढ़िया खोज। मैंने आपके उत्तर में भी सीधे पैराग्राफ जोड़ा। – Olly