2009-12-16 56 views
11

的調試。當我嘗試訪問「Application.CommonAppDataPath」我收到此錯誤信息:「存儲元數據‘CurrentBind’無效」的ClickOnce應用程序

System.Deployment:存儲元數據 「CurrentBind」無效

堆棧跟蹤:

在 System.Deployment.Application.ComponentStore.GetPropertyString(DefinitionAppI d appId,字符串propName)

這隻在調試中。作爲實際發佈的clickonce應用程序運行時,它工作正常。

如何在本地調試時排除此異常?

回答

30

我有一個類似的問題(如jpierson的評論)與ApplicationDeployment.IsNetworkDeployed上的「CurrentBind」無效'相同的異常。我沒有選中「選項|調試|常規|只是我的代碼」。檢查完後,一切正常。

注意:其他一些討論線程曾建議重新安裝VS2010。我做到了,但沒有幫助。我不知道重裝是否也是聯盟。

+0

不錯!這解決了我的問題。 – 2011-05-03 20:38:48

+0

不錯。去搞清楚... – pStan 2015-01-22 19:22:12

1

ApplicationDeployment.IsNetworkDeployed(在System.Deployment.Application命名空間中)是一個布爾值屬性,如果應用程序是使用ClickOnce啓動的,則返回true

if (ApplicationDeployment.IsNetworkDeployed) 
{ 
    //CommonAppPath code 
} 

你想用CommonAppDataPath做什麼?根據你想要完成的事情,我們可能會想出一些可以工作的東西,無論該應用程序是如何啓動的。

+0

我在Application.CommonAppDataPath \ ProgramName \ path中保存我的程序的settings.xml文件。 – Espo 2009-12-17 09:30:14

+1

奇怪的是,我得到了原始海報在嘗試讀取ApplicationDeployment.IsNetworkDeployed屬性時描述的錯誤。 存儲元數據「CurrentBind」無效。 – jpierson 2010-01-12 21:12:03

+0

我也是ApplicationDeployment.IsNetworkDeployed,只是給出了同樣的錯誤。隨後出現「應用程序未安裝」錯誤。 – 2010-02-01 14:18:45

0

我有完全相同的問題。感謝mkale指引我朝着正確的方向發展。

幾天前我已經安裝了Reflector VS Addin,並在某個時候詢問了有關更改Just My Code選項的信息。我完全忘記了這一點,並在過去的兩天裏一直在解決這個問題!

同時我也遇到了FileLoadException的問題 - 它在Fusion日誌中報告「WRN:比較程序集名稱導致不匹配:修訂號」。最初,我通過將程序集版本設置爲1.1.0.0而不是1.1。*來解決該問題。

但是,一旦設置了Just My Code選項,所有這些問題都消失了。

1

我故意設置VS打破CLR異常。你當然可以通過只調試你的代碼來掩蓋這個異常,但它仍然是一個有效的錯誤,我想要一個解釋。 MS應該是編寫可靠代碼的先行者。