サーバーからアプリケーションのバージョンをチェックし、ユーザーに更新を促すための小さなテスト プロジェクトがあります。System.Version
のタイプをto に保存できないことを除いて、すべて正常に動作しMy.Settings
ます。(ユーザーが再度通知しないように要求した場合に備えて、新しいバージョンを保存したいと思います。)
今、私はバージョンを文字列として保存し、それを前後に変換できることを知っていSystem.Version
ます. ただし、バージョンを保存する代わりに、XML エントリ「バージョン」を値なしで保存するだけです (以下を参照)。
VB.NET、VS 2013、.NET 4 を使用しています。
確認するコードを次に示します。
設定.デザイナー.vb
<Global.System.Configuration.UserScopedSettingAttribute(), _
Global.System.Diagnostics.DebuggerNonUserCodeAttribute()> _
Public Property DoNotRemindVersion() As Global.System.Version
Get
Return CType(Me("DoNotRemindVersion"),Global.System.Version)
End Get
Set
Me("DoNotRemindVersion") = value
End Set
End Property
割り当て例
If My.Settings.DoNotRemind Then My.Settings.DoNotRemindVersion = oVersion.NewVersion
(oVersion.NewVersion
はタイプSystem.Version
です。)
user.config に保存されているとおり
<setting name="DoNotRemindVersion" serializeAs="Xml">
<value>
<Version xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
</value>
</setting>
それで、私は何を間違っていますか?クラスをシリアル化してユーザー設定に保存する必要があるという投稿をいくつか読みましたが、これは単純なバージョン番号であり、一見すると、サポートされているデータ型であると予想されます。