是情是這樣發生的,
我有一個自己測試用的專案,放在 SkyDrive 自動同步的目錄中,
在我的兩台電腦中,他很方便,可以自動的幫我同步,
有一天,我改完程式,把 Notebook 蓋起來直接下班,
Notebook 打開後,發現他當機重開,
之後再開起這個專案裡的 *.config 檔的時候,他就一直賞我下面這個訊息。
關鍵字搜尋了一下,
都是說要還原 Visual Studio 的設定,但,這不合理!
因為我別的專案是正常的,只有這個怪怪的。
後來找到有人有提供的解決方法:
http://forums.asp.net/post/5138757.aspx
沒錯!就是砍掉 *.suo 這個隱藏檔就好了。
這個檔案會儲存上次開啟專案時的一些狀態,
例如中斷點的設定,開了哪些程式 ... 等等。
推測,應該是因為不正常關機,造成 *.suo 損壞所導致的。
很多時候,刪掉 *.suo 、 *.user 可以決解一些問題,
所以我一向都建議不要把這後副檔名的檔案 commit 到版本控管的 Server 上。
2013年3月29日
2013年3月21日
[.Net] 決解 Visual Studio 2012 Express NuGet 無法載入的問題
不知道有沒有人遇過這樣的問題,反正我是遇到了 Orz
安裝 Visual Studio 2012 Express 一切正常,
但是,
開起已經有使用 NuGet 的專案時,出現:
未正確載入套件 'NuGet.Tools.NuGetPackage, NuGet.Tools ......'

以上是發病的症狀,
我安裝的環境是 Windows Server 2012 Evaluation 英文版,
加 Visual Studio 2012 Express (Web、Desktop、Phone SDK),
不管我怎麼移除再重新加入都沒用,
後來就手動在 command line 下執行
咦 ~ 一次移除三個,推想這案情不單純,因為之前移除的時候都只有針對 for Web 的版本做的,我猜有可能是因為安裝時,不知道什麼原因,造成他們彼此之間不一致所導致的問題。
"NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5"
這串 ID 可以從:
C:\Program Files (x86)\NuGet\Visual Studio 2012\NuGet.Tools.vsix
這個檔案裡面取得,先把 NuGet.Tools.vsix 的副檔名改成 .zip 再解壓縮後,
裡面的 extension.vsixmanifest 檔案中可以看到
最後,要再把 NuGet.Tools.vsix 安裝回來,
只要在 Command Line 下,上述的目錄中執行以下命令即可。
安裝 Visual Studio 2012 Express 一切正常,
但是,
開起已經有使用 NuGet 的專案時,出現:
未正確載入套件 'NuGet.Tools.NuGetPackage, NuGet.Tools ......'

加入一個新的專案有用到 NuGet 的時候會出現:
這個範本嘗試載入元組件 'NuGet.VisualStudio.Interop ......'
以上是發病的症狀,
我安裝的環境是 Windows Server 2012 Evaluation 英文版,
加 Visual Studio 2012 Express (Web、Desktop、Phone SDK),
不管我怎麼移除再重新加入都沒用,
後來就手動在 command line 下執行
執行完成後會出現以下的畫面:vsixinstaller /uninstall:NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5
咦 ~ 一次移除三個,推想這案情不單純,因為之前移除的時候都只有針對 for Web 的版本做的,我猜有可能是因為安裝時,不知道什麼原因,造成他們彼此之間不一致所導致的問題。
"NuPackToolsVsix.Microsoft.67e54e40-0ae3-42c5-a949-fddf5739e7a5"
這串 ID 可以從:
C:\Program Files (x86)\NuGet\Visual Studio 2012\NuGet.Tools.vsix
這個檔案裡面取得,先把 NuGet.Tools.vsix 的副檔名改成 .zip 再解壓縮後,
裡面的 extension.vsixmanifest 檔案中可以看到
最後,要再把 NuGet.Tools.vsix 安裝回來,
只要在 Command Line 下,上述的目錄中執行以下命令即可。
vsixinstaller NuGet.Tools.vsix