1

我一直在開發一個ASP.NET MVC 4項目的同時cmdlet,函數的名稱,腳本文件或可操作的程序,我一直在使用「 MVCScaffolding「包成功,但幾天前我注意到,當創建一個新的控制器,例如MVCScaffolding項目不再顯示。試圖運行scaffold命令也將導致以下錯誤:術語「支架」不被識別爲

The term 'scaffold' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. 
At line:1 char:9 
+ scaffold <<<< 
    + CategoryInfo   : ObjectNotFound: (scaffold:String) [], CommandNotFoundException 

我注意到這個問題已經多次提到對this page但一直沒有提供解決方案。

也是「MVCScaffolding」包可以被其他項目不同的解決方案,在相同的環境下使用,但不相同的解決方案,所以我想這是特定於該解決方案的東西。我已經嘗試卸載並重新安裝軟件包手動或通過以下命令,重新安裝nuget並重新啓動VS窗口幾次:);

Uninstall-Package MvcScaffolding -RemoveDependencies 
Install-Package MvcScaffolding 

我在尋找什麼是第一,顯然如何解決這個具體問題;第二,一般在這種情況下,應該之一,以開始調試問題找?命令提示符如何確定命令是否可用?

在此先感謝。

回答

2

MVC腳手架定義了當的溶液在Visual Studio中打開「腳手架」命令的別名。 T4Scaffolding.Core NuGet包是實際調用Set-Alias在init.ps1中執行此操作的包。您可以檢查是否正在運行T4Scaffolding NuGet程序包的init.ps1。

+0

你能否透露細節,你的意思是什麼「檢查init.ps1正在運行」,這樣我可以檢查它的明天,當我有機會獲得提到的項目,非常感謝你。 –

+0

你可以添加一個簡單的寫語句來init.ps1文件,應在打開解決方案時,包管理器控制檯打開時顯示:寫警告「init.ps1被稱爲」 –

+0

謝謝你是如此的幫助馬特:) Write-Warning方法使我朝着正確的方向前進,以便將來在使用init.ps1文件進行參考後,我發現我的解決方案的packages文件夾中的T4Scaffolding.1.0.8和T4Scaffolding.Core.1.0.0文件夾是空的,但不是mvcscaffolding。我仍然不知道爲什麼發生多次重新安裝包後,但從另一個項目複製這些文件夾的內容是一個快速的補救措施。簡而言之,如果您遇到同樣的問題,請確保腳手架包的文件夾不爲空。 –

0

我知道這個帖子是真的老了..但對於那些你誰仍與VS2013面臨這樣的問題,請嘗試以下方法:

  1. 卸載,包裝T4Scaffolding < - 如果你已經二手PM控制檯安裝它..

  2. 通過右鍵點擊安裝 「引用」 - >管理的NuGet軟件包 - >搜索T4Scaffolding並從那裏安裝它..

通過執行上述步驟,它像我的魅力

-1

我的問題已通過NuGetPackage管理器添加T4Scaffolding.Core解決。 (1.0.8版本)