none
発行するバージョンの取得について RRS feed

  • 質問

  •  ClickOnceで発行する場合のデザイナーのページの下にある発行するバージョンの部分の メジャー、マイナー、ビルド、リビジョンの値を 発行されたアプリケーションから取得するには どうすれば良いのでしょうか?

     アプリケーションのフォームに発行したときのバージョンを表示したいのですが。

    2006年7月20日 3:09

回答

すべての返信

  • かず boo さん、こんにちは。

     かずboo さんからの引用
    ClickOnceで発行する場合のデザイナーのページの下にある発行するバージョンの部分の メジャー、マイナー、ビルド、リビジョンの値を 発行されたアプリケーションから取得するには どうすれば良いのでしょうか?

    System.Deployment.Application.ApplicationDeployment クラスの CurrentDeployment 静的メソッドより、
    ApplicationDeployment クラスのインスタンスを取得します。
    あとは、このインスタンスより CurrentVersion プロパティを参照します。

    2006年7月20日 3:58
  • じゃんぬねっとさん アドバイスありがとうございます

    >System.Deployment.Application.ApplicationDeployment クラスの CurrentDeployment 静的メソッドより、
    >ApplicationDeployment クラスのインスタンスを取得します。
    あとは、このインスタンスより CurrentVersion プロパティを参照します。

    まだ あまり意味がわかりませんので

    MSDNより

    http://msdn2.microsoft.com/ja-jp/library/system.deployment.application.applicationdeployment.currentdeployment.aspx

    ここかな? というところから

    Private Function CheckForUpdateDue() As Boolean
        Dim isUpdateDue As Boolean = False

        If (ApplicationDeployment.IsNetworkDeployed) Then
            Dim AD As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
            Dim updateInterval As TimeSpan = DateTime.Now - AD.TimeOfLastUpdateCheck
            If (updateInterval.Days > 3) Then
                isUpdateDue = True
            End If
        End If

        CheckForUpdateDue = isUpdateDue
    End Function

    このコードを改造すればよいのかな? と思い

    まずは このままコピーしたのですが

    ApplicationDeploymentのところで「型’ApplicationDeployment’が定義されていません」と出てしまいます。

     どこで 定義すればよいのでしょうか?

     

     

    2006年7月20日 8:23
  • かず boo さん、

     かずboo さんからの引用
    まだ あまり意味がわかりませんので
        :
    このコードを改造すればよいのかな? と思い

    私は、名前空間もすべて書かせて頂いております。

    サンプルに頼らずとも、先の私の投稿どおりに実装すれば良いと思います。
    また、これは、1 ~ 2 行で解決しますので、サンプルから追った方がつらいと思います。

    "意味がわからない" のは、一体どこなのかを指し示したほうが、かず boo さんのためにもなるのではないでしょうか?

    意味がわからない状態でサンプルをコピペしても、それは根本的な解決になりません。
    逆に、意味がわかっていれば、自力でも実装ができますし、サンプルを見ても普通に理解できるでしょう。

    2006年7月20日 9:04
  •  じゃんぬねっとさん ありがとうございました

    Imports System.Deployment.Applicationとインポートすることで

    前記のエラーが出なくなりましたので 再度 教えて頂いた通りにこうかな と思うように書いてみましたところ バージョンが表示できるようになりました

    もっと 基本から勉強しないと せっかく教えで頂いている事がそのまま理解できないという 本当に恥ずかしい状態です

     どうも ありがとうございました。

     Dim cd As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
                Dim vv As String = cd.CurrentVersion.ToString()
                LabVer.Text = vv

     

    2006年7月20日 9:51
  •  もうひとつ 甘えてよろしいか?

    バージョンの中のメジャー、マイナー、ビルド、リビジョンのうち

    リビジョンについては この値を元に アップデートを確認しているのかな? という感じで なんとなく分かるのですが

    あとの メジャー、マイナー、ビルドに関しては 自分で分かりやすいように 値を設定すれば良いのですか?

    2006年7月20日 10:00
  • かず boo さん、

     かずboo さんからの引用
     もうひとつ 甘えてよろしいか?
    バージョンの中のメジャー、マイナー、ビルド、リビジョンのうちリビジョンについては この値を元に アップデートを確認しているのかな? という感じで なんとなく分かるのですがあとの メジャー、マイナー、ビルドに関しては 自分で分かりやすいように 値を設定すれば良いのですか?

    メジャー、マイナー、ビルドについては、一般的な定義があります。

    バージョン名の付け方

    参考にしてください。

    2006年7月20日 11:31
  • じゃんぬねっと さん どうもありがとうございます

    >メジャー、マイナー、ビルドについては、一般的な定義があります。

    バージョン名の付け方

    >参考にしてください。

    大変、参考になりました。

    ありがとうございました。

    2006年7月20日 12:04