![](/img/trans.png)
[英]Get Nuget credentials stored somewhere by Visual Studio in a VSIX project
[英]Multi Project / Solution Templates for Visual Studio 2012 with VSIX Installer and Nuget Packages
我想有一個多項目模板,它將創建子項目,並將安裝nuget依賴項以及安裝此模板的vsix安裝程序。
方法問題已經嘗試過
沒有VSIX的多項目模板,沒有nuget
我能夠創建一個多項目模板,它工作正常,除非是時候包括nuget引用,它不起作用。 對於沒有涉及VSIX的nuget,沒有簡單/優雅的支持。
具有VSIX的多項目模板,沒有根模板
所以我嘗試使用VSIX,看起來非常簡單。 將模板項目添加為zip或解決方案,構建vsix安裝程序。 但是當我添加第二個項目模板,創建一個多項目模板,構建它,安裝模板並嘗試創建一個項目時,我意識到它不支持master-sub項目設置,其中一個主項目創建子項目。 這是一個很大的問題,因為開發人員必須按依賴順序創建每個項目。
我終於讓設置工作了。 我花了很多天的時間嘗試和修補不同的MSDN文章和博客來解決這個問題。
結合多項目模板(與根模板)和VSIX
最終的結果是
使用此模板創建項目時,它會自動創建多個子項目,但子項目不是(但可以)作為新項目菜單中的模板。 如果您嘗試模擬依賴於許多項目一起工作的企業設計,但是您不希望用戶能夠創建這些子項目,或者您希望它們可以在不同的項目中使用,那么這非常有用。項目模板區域/類別。
腳步:
將以下內容添加到文件中:
<WizardExtension> <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName> </WizardExtension> <WizardData> <packages repository="extension" repositoryId="fill this in"> <package id="Newtonsoft.Json" version="5.0.6" /> </packages> </WizardData>
打開您希望用作“子項目”模板的第一個項目,從文件 - >導出模板導出模板。
並在下面的TemplateContent塊中粘貼(例如,如果你想添加一個Json nuget包)
<WizardExtension> <Assembly>NuGet.VisualStudio.Interop, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</Assembly> <FullClassName>NuGet.VisualStudio.TemplateWizard</FullClassName> </WizardExtension> <WizardData> <packages repository="extension" repositoryId="fill this in"> <package id="Newtonsoft.Json" version="5.0.6" /> </packages> </WizardData>
壓縮整個根文件夾MyTemplate,最終得到MyTemplate.zip,其中包含MyTemplate文件夾的內容。
可選步驟讓您的主項目重命名您的文件和名稱空間
<DefaultName>$safeprojectname$.Domain</DefaultName>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.