gre*_*ven 5 vsix nuget visual-studio-2012
我一直关注如何构建一个VSIX项目,该项目将添加一些自定义MVC项目类型:
http://www.asp.net/mvc/tutorials/mvc-4/custom-mvc-templates
我还想要包含一些额外的Nuget软件包,所以我在Nuget上关注这个页面,但它似乎是针对VS2010而且我在2012年工作.
我有项目建设,一切都在我的机器上工作.安装工作,出现新的项目类型,当我创建这种类型的新项目时,一切都很完美.
但是,当我将安装程序发送给同事时,事情就会中断.安装程序工作,他们看到新的项目类型,但在创建项目时,他收到有关无法在扩展节点中安装任何软件包的错误消息.我已经确认扩展的Product Id是正确的(我在测试期间故意在.vstemplate文件中将其格式化,并且它给出了完全不同的错误).我已经将包添加到扩展清单中,但它似乎没有什么区别.我还确认.nupkg文件已部署到%ProgramFiles(x86)%\ Microsoft Visual Studio 11.0\Common7\IDE\Extensions.
有关该怎么办的任何建议?
自定义项目的.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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)
文件结构
我制作了一个分步视频,介绍如何制作自动下载 nuget 包的 VSIX。
http://www.youtube.com/watch?v=_ZvsFz41H-E
由于步骤很多,我从来没有写下来,所以这里就不写了。我确实已经在其他人的计算机上测试了我的 VSIX 包,并且它有效,因此希望这对您有用。
小智 1
查看此链接http://samritchie.net/2012/09/17/nuget-packages-in-vs2012-templates/这对我有帮助。但是,我仍然遇到所有引用路径均为空的问题。
\n\n特别注意上面链接的文章中的以下评论:
\n\n\n\n我花了相当长的一段时间试图弄清楚 CustomExtension 的 v2 等效项是什么,但长话短说,您不需要对 .vsixmanifest \xe2\x80\x94 进行任何更改it\xe2\x80\x99s 足以包含 VSIX 中 \xe2\x80\x98Packages\xe2\x80\x99 目录下的所有包。
\n
| 归档时间: |
|
| 查看次数: |
6188 次 |
| 最近记录: |