第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

我可以控制.NET用戶設(shè)置的位置,以避免丟失應(yīng)用程序升級(jí)的設(shè)置嗎?

我可以控制.NET用戶設(shè)置的位置,以避免丟失應(yīng)用程序升級(jí)的設(shè)置嗎?

搖曳的薔薇 2019-07-29 16:59:33
我可以控制.NET用戶設(shè)置的位置,以避免丟失應(yīng)用程序升級(jí)的設(shè)置嗎?我正在嘗試自定義user.config文件的位置。目前,它存儲(chǔ)了哈希和版本號(hào)%AppData%\[CompanyName]\[ExeName]_Url_[some_hash]\[Version]\我希望它與應(yīng)用程序的版本無(wú)關(guān)%AppData%\[CompanyName]\[ProductName]\可以這樣做,怎么做?有什么影響?升級(jí)后,用戶是否會(huì)丟失先前版本的設(shè)置?
查看完整描述

3 回答

?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

要回答第一個(gè)問題,您在技術(shù)上可以將文件放在任何位置,但是您必須自己編寫代碼,因?yàn)槲募哪J(rèn)位置是您的兩個(gè)示例中的第一個(gè)。(鏈接到自己如何做

至于第二個(gè)問題,它取決于您部署應(yīng)用程序的方式。如果通過.msi進(jìn)行部署,則安裝項(xiàng)目的屬性中有兩個(gè)哈希值(構(gòu)建msi),“升級(jí)代碼”和“產(chǎn)品代碼”。這些決定了msi的安裝方式,以及它是否可以升級(jí),覆蓋或安裝在同一應(yīng)用程序的任何其他版本旁邊。

例如,如果您有兩個(gè)版本的軟件并且它們具有不同的“升級(jí)”代碼,那么對(duì)于Windows而言,無(wú)論名稱是什么,它們都是完全不同的軟件。但是,如果“升級(jí)”代碼相同,但“產(chǎn)品”代碼不同,那么當(dāng)您嘗試安裝第二個(gè)msi時(shí),它會(huì)詢問您是否要升級(jí),此時(shí)它應(yīng)該復(fù)制來(lái)自舊配置到新配置。如果兩個(gè)值相同,并且版本號(hào)沒有更改,則新配置將與舊配置位于同一位置,并且它不必執(zhí)行任何操作。 MSDN文檔

ClickOnce有點(diǎn)不同,因?yàn)樗嗟鼗贑lickOnce版本#和URL路徑,但我發(fā)現(xiàn)只要您繼續(xù)“發(fā)布”到同一位置,新版本的應(yīng)用程序?qū)⒗^續(xù)使用現(xiàn)有配置。(鏈接到ClickOnce如何處理更新

我也知道有一種方法可以在使用自定義安裝腳本安裝msi時(shí)手動(dòng)合并配置,但我不記得執(zhí)行它的確切步驟...(請(qǐng)參閱鏈接以了解如何使用Web進(jìn)行操作。配置)


查看完整回答
反對(duì) 回復(fù) 2019-07-29
?
明月笑刀無(wú)情

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超4個(gè)贊

我想添加這個(gè)引用的文本作為我將來(lái)遇到此問題時(shí)的參考。據(jù)說,您可以通過調(diào)用Upgrade來(lái)指示ApplicationSettings基礎(chǔ)結(jié)構(gòu)復(fù)制先前版本的設(shè)置:

Properties.Settings.Value.Upgrade();

客戶端設(shè)置常見問題的博客帖子:存檔

問:為什么user.config路徑中有版本號(hào)?如果我部署新版本的應(yīng)用程序,用戶是否會(huì)丟失以前版本保存的所有設(shè)置?

答:user.config路徑對(duì)版本敏感的原因有很多。

(1)支持并行部署不同版本的應(yīng)用程序(例如,您可以使用Clickonce執(zhí)行此操作)。不同版本的應(yīng)用程序可以保存不同的設(shè)置。

(2)升級(jí)應(yīng)用程序時(shí),設(shè)置類可能已被更改,可能與保存的內(nèi)容不兼容,這可能會(huì)導(dǎo)致問題。

但是,我們可以輕松地將設(shè)置從先前版本的應(yīng)用程序升級(jí)到最新版本。只需調(diào)用ApplicationSettingsBase.Upgrade(),它將從先前版本中檢索與該類當(dāng)前版本匹配的設(shè)置,并將它們存儲(chǔ)在當(dāng)前版本的user.config文件中。您還可以選擇在設(shè)置類或提供程序?qū)崿F(xiàn)中覆蓋此行為。

問:好的,但我如何知道何時(shí)致電升級(jí)?

A:好問題。在Clickonce中,當(dāng)您安裝新版本的應(yīng)用程序時(shí),ApplicationSettingsBase將檢測(cè)它并在加載點(diǎn)設(shè)置時(shí)自動(dòng)升級(jí)設(shè)置。在非Clickonce案例中,沒有自動(dòng)升級(jí) - 您必須自己調(diào)用升級(jí)。這是確定何時(shí)調(diào)用升級(jí)的一個(gè)想法:

有一個(gè)名為CallUpgrade的布爾設(shè)置,并給它一個(gè)默認(rèn)值true。當(dāng)您的應(yīng)用啟動(dòng)時(shí),您可以執(zhí)行以下操作:

if (Properties.Settings.Value.CallUpgrade){
   Properties.Settings.Value.Upgrade();
   Properties.Settings.Value.CallUpgrade = false;    }

這將確保僅在部署新版本后第一次運(yùn)行應(yīng)用程序時(shí)調(diào)用Upgrade()。

我不相信它可以真正起作用的一秒鐘 - 微軟不可能提供這種能力,但方法也是如此。


查看完整回答
反對(duì) 回復(fù) 2019-07-29
  • 3 回答
  • 0 關(guān)注
  • 420 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)