2012-08-08 71 views
2

我對使用SQLite一個vb.net應用程序的工作,並且因爲它是針對.NET Framework的版本2編譯,我加入這行到我的配置文件擺脫App.exe.config

<startup useLegacyV2RuntimeActivationPolicy="true"> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
</startup> 

我的應用程序的最終目標是使其成爲一個獨立的,所以不是一個單獨的文件,除了EXE(以及應用程序將生成一個文件的數據庫,但我的觀點是我想用戶只下載1個單一文件)。

而且我注意到,當我建立它的配置文件總是被複制,如果我不運行的配置文件的應用程序,我會得到未捕獲異常的「遺產」的錯誤..

有什麼在運行時包含該配置的方式?或者可能捕獲某種類型的異常,以防止該對話框出現並嚇倒用戶(我知道這可能不是最好的方法)

我已經搜索並發現了其他類似的問題,但沒有發現我遇到的問題到爲我工作的解決方案,所以我會感謝您的幫助。

回答

2

雖然它是possible to set the legacy runtime policy at runtime,我會建議部署爲安裝程序。

以及應用程序會生成數據庫文件,但我的觀點是我希望用戶只下載1單個文件

他們可以下載你的安裝程序,這可能需要設立的護理一切正確。無論如何,這可能是必需的,因爲SQLite將需要它自己的DLL以及您的.exe文件在部署中。

+0

安裝程序的缺點是用戶必須具有管理員權限,並且能夠提升超過UAC提示以運行安裝。任何人都可以運行獨立程序。 – 2012-08-08 15:54:59

+0

@JoelCoehoorn,這正是我關心的:) – 2012-08-08 15:55:23

+0

@JoelCoehoorn如果您使用ClickOnce或類似的安裝到用戶文件夾的方式,則不行。 – 2012-08-08 15:55:30