2012-03-18 48 views
2

我正在創建一個項目模板。我希望通過NuGet自動安裝統一和棱鏡。NuGet.VisualStudio.Interop.dll是否應該在GAC中用作嚮導?

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:\用戶\ MYUSER \應用程序數據\漫遊\微軟\ VisualStudio的\ 10.0 \ ProjectTemplatesCache \ MyTemplate.zip'

我做了一些前瞻性,併爲嚮導的工作,它需要在GAC中安裝。我跑這個命令:

的Gacutil.exe /升NuGet.VisualStudio.Interop

而且它返回:

全局程序集緩存包含以下組件:

件數= 0

因此,它似乎不在GAC中。問題是:這對其他人是如何工作的?如果它需要在GAC中,那爲什麼它不會自動出現?

如果不是,那麼爲什麼它不起作用(我相當確定它需要在GAC中)。

注:我沒有找到該DLL的位置:

C:\ Program Files文件(x86)的\微軟的Visual Studio 10.0 \ Common7 \ IDE \擴展\ Microsoft公司\ NuGet包管理器\ 1.6.21215.9133

回答

1

我發現,我已經錯過了文檔中的重要部分:

模板需要指定在哪裏可以找到包nupkg文件。目前支持兩個軟件包存儲庫:

嵌入到VSIX包內部的包。
嵌入項目/項目模板本身內部的包。

因此,沒有辦法從實際的NuGet Repository中獲取軟件包。

0

回答這個問題:

打開Visual Studio>工具>擴展和更新>選擇網絡鏈接,然後右側搜索欄類型的NuGet包管理器。然後下載並安裝。解決您的問題

相關問題