2013年3月29日

[Visual Studio 2012 Express] 開啟 *.config 檔案時,發生 "Value does not fall within the expected range" 的決解方式

是情是這樣發生的,
我有一個自己測試用的專案,放在 SkyDrive 自動同步的目錄中,
在我的兩台電腦中,他很方便,可以自動的幫我同步,
有一天,我改完程式,把 Notebook 蓋起來直接下班,
 Notebook 打開後,發現他當機重開,
之後再開起這個專案裡的 *.config 檔的時候,他就一直賞我下面這個訊息。










關鍵字搜尋了一下,
都是說要還原 Visual Studio 的設定,但,這不合理!
因為我別的專案是正常的,只有這個怪怪的。

後來找到有人有提供的解決方法:
http://forums.asp.net/post/5138757.aspx

沒錯!就是砍掉 *.suo 這個隱藏檔就好了。
這個檔案會儲存上次開啟專案時的一些狀態,
例如中斷點的設定,開了哪些程式 ... 等等。
推測,應該是因為不正常關機,造成 *.suo 損壞所導致的。


很多時候,刪掉 *.suo 、 *.user 可以決解一些問題,
所以我一向都建議不要把這後副檔名的檔案 commit 到版本控管的 Server 上。



2013年3月21日

[.Net] 決解 Visual Studio 2012 Express NuGet 無法載入的問題

不知道有沒有人遇過這樣的問題,反正我是遇到了 Orz
安裝 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