我正在创建一个项目模板。我想让它通过 NuGet 自动安装统一和棱镜。
我在这里阅读了如何做到这一点。我设置了我的 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