我正在创建一个项目模板。我希望通过NuGet自动安装统一和棱镜。
I read here how to do that。我设置了我的vstemplate文件,如该页面所示:
<WizardExtension>
<Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly>
<FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName>
</WizardExtension>
<WizardData>
<packages>
<package id="CommonServiceLocator" version="1.0" />
<package id="Prism" version="4.1.0.0" />
<package id="Prism.UnityExtensions" version="4.1.0.0" />
<package id="Unity" version="2.1.505.0" />
</packages>
</WizardData>
它似乎设置正确,但它不起作用。当我尝试使用我的模板时,我收到以下错误消息:
无法将所有必需的包添加到项目中。以下程序包无法从'C:\ Users \ MyUser \ AppData \ Roaming \ Microsoft \ VisualStudio \ 10.0 \ ProjectTemplatesCache \ MyTemplate.zip'
安装
我做了一些寻找,并且要使用向导,它需要安装在GAC中。我运行了这个命令:
gacutil.exe / l NuGet.VisualStudio.Interop
它又回来了:
全局程序集缓存包含以下程序集:
项数= 0
所以它似乎不在GAC中。问题是:这对其他人有何影响?如果它需要在GAC中,那么为什么它不会自动出现?
如果没有,那么为什么它不起作用(我很确定它需要在GAC中)。
注意:我确实在这里找到了dll:
C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ Common7 \ IDE \ Extensions \ Microsoft Corporation \ NuGet Package Manager \ 1.6.21215.9133
答案 0 :(得分:1)
我发现我错过了文档的这个重要部分:
模板需要指定在哪里找到包nupkg文件。目前支持两个软件包存储库:
嵌入在VSIX包内的包。
包含在项目/项目模板本身内部的包。
因此,无法从实际的NuGet存储库中获取包。
答案 1 :(得分:-1)
回答这个问题:
打开Visual Studio&gt;工具&gt;扩展程序和更新&gt;选择在线链接,然后右侧搜索栏输入NuGet Package Manager。然后下载并安装。解决您的问题