2012-12-21 88 views
2

有沒有人遇到過這個問題,或者可以幫助找出這個錯誤的來源在哪裏?當我加載項目(並且它只發生在這個項目上,我的其他人都沒有)時,PM在控制檯中給我這個錯誤:Visual studio 2012包管理器控制檯名稱不能以'<'字符開頭

名稱不能以'<'字符開頭,十六進制值0x3C。第1行,第2位。

我在Visual Studio 2012中運行.net 4的MVC4。 這隻在更新nuget包管理器後纔會發生。因此,我無法運行任何EF遷移命令來更新數據庫。

PMC在啓動項目後立即顯示錯誤。我嘗試在我的域和Web項目上選擇「管理nuget包」。域項目工作正常,但我在Web項目的「已安裝包」和「更新」選項卡中看到相同的錯誤。如果我從packages.config中刪除條目,那麼它不會再顯示錯誤,並且說沒有。但是,除了install-package之外,我仍然無法在PMC上運行任何命令。即使試圖運行更新軟件包也會給我:

update-package:名稱不能以'<'字符開頭,十六進制值0x3C。行1,位置2.

我試圖通過所有的XML,設置和XML文件,我可以找到,但沒有發現任何異常或損壞。有誰知道我可以跟蹤這個錯誤?

回答

0

當您最初在Visual Studio中打開一個解決方案時,任何已安裝的軟件包將在軟件包中運行「Init.ps1」腳本(如果有的話)。

聽起來像EF包可能是罪魁禍首,從內存我知道它有一個Init.ps1,所以可能是值得完全刪除該包(手動,只是刪除所有),並重新安裝它。

+0

我打算將其標記爲答案。我們最終做的是Nuke整個包文件夾並從NuGet直接恢復。但EF包裝可能是腐敗的。 – krazi

0

對我來說,這是因爲Topshelf(我認爲是3.1.2版本)包而發生的。解決方法是從Packages文件夾中刪除它,然後重建並允許Nuget重新獲取它。

相關問題