C# で MyClock Ver 0.10 を作る (2/2)

プログラム電卓のためのC#プログラミング
e-Gadget

<MyClock トップへ戻る>


2017/01/31

初めて作る C# プログラム - MyClock


MyClock Ver 0.10を作る (2/2)

MyClock が動作するようになりましたが、.NET Framework を必要とする C# アプリに関しては、.NET Framework のバージョンが気になります。


Windows 10 にインストールした Visual Studio Community 2015 の C# で MyClock の新規プロジェクトを作成する時に「対象のフレームワーク」を .NET Framework 4.6.1 に設定しています。



.NET Framework と Windows バージョンの関係



.NET Framework には新旧多くのバージョンがあります。開発と同じPCで使う場合は .NET Framework のバージョンを気にする必要がありませんが、別のPCで使う場合はWindowsのバージョンによってはアプリが正常動作しない可能性が考えられます。

そこで、Windows と .NET Framework のバージョンの関係を調べてみました。

 .NET Frameworkのバージョンを整理する (1/2)
 .NET Frameworkの一部バージョンのサポート終了が差し迫る! その対策は? (1/2)

Windows 7 のサポートは 2020年1月15日に終了し、プレインストールされている .NET Framewok 3.5.1 の同日までサポートされるようです。Windows 8.1 / 10 のサポートと、プレインストールされている .NET Framework 3.5.1 / 4.5.2 / 4.6.x は 2023年1月15日までサポートされるようです。

そこで、Windows 7 以降で使えるようにするには、.NET Framework 3.5.1 を対象にしてアプリを作れば2020年1月15日までは問題ないことが分かります。Windows 8.1 以降を対象にするなら、.NET Framework 4.6.2 (本日時点での最新版) を対象のフレームワークにしておけば 2023年1月15日まで問題ないことになります。

さすがに Windows XP をネットに繋いで使っているケースを考慮する必要は無いと割り切れますが、Window 7 は未だに人気が高いので、MyClock は .NET Framework 3.5.1 を前提にしようと思います。




対象の .NET Framework バージョンを変更

プロジェクトの「対象のフレームワーク」に設定する .NET Framework バージョンの確認や変更は、プロジェクトのプロパティで行えます。

ソリューションエクスプローラーで、プロジェクト MyClock を選び、

プロジェクトのプロパティの出し方 

右クリックでメニューが現れ、

プロジェクトのプロパティの出し方2 

[プロパティ(R)] を選ぶと、

 プロジェクトのプロパティ縮小  

プロジェクト MyClock のプロパティが現れます。対象のフレームワークが、デフォルトで .NET Framework 4.6.1 になっていることが確認できます。

これを .NET Framework 3.5 に変更 (3.5 Client Profile ではなくて 3.5) し、プロパティを保存します。変更を有効にするにはソリューションを一旦閉じてから再び開く必要があります。

そこで、全てのファイルを保存後、[ファイル(F)] - [ソリューションを閉じる(T)] を選ぶか、右上の[X] でソリューションを一旦閉じます。そして再びソリューションを開くと、「対象のフレームワーク」の変更が反映されます。

では、[F5] を押してビルド後デバッグモードで実行します。

するとエラーと警告が発生しました。

フレームワーク3.5でのエラー  

 マークがエラーで、これがあるとビルドできません。そこでこのエラー表示の上でダブルクリックしてみると、エラー箇所が表示され、カーソルが Display.cs と Program.cs の冒頭にある


using System.Threading.Tasks;

の Tasks の前にあり、Tasks の下に赤い波線がついています。

この機能が .NET Framework 3.5 ではサポートされていないので、上記2つのファイルでこの行をコメントアウトします。

//using System.Threading.Tasks;


コメントアウトすると、その場でエラー表示が消えます。[F5] を押してビルド&実行してみると、ビルドに成功して MyClock が正常動作しました。

なお、4つの警告がありますが、Microsoft.CSharp と System.Net.Http が見つからないことによります。.NET Framework 4.6.1 には用意されているので組み込まれたが、3.5.1 に変更したら見つからなくなったのが原因のようです。

以下のように、これら2つに警告マークがついています。

参照エラー 

今は、これらの機能を使わなくても MyClock は正常動作しているので、この警告を無視することにします。

対象フレームワークを変更したのに参照の対象を自動的に更新できていない、つまり 開発環境がそこまで万能では無いのだと思います。これらを削除することもできますが、将来の機能追加で対象フレームワークをより新しいものに変更した時に、削除したものを自動で追加してくれないかも知れず(動作が怪しい)そのときに苦労したくないので、そのままにしておきます。


これで、MyClock は、対象フレームワーク .NET Framework 3.5 (つまりWindows 7 以降) で動作するようになりました。






アセンブリ情報を変更

プロジェクトのプロパティを開き、

プロジェクトのプロパティ縮小 

 [アセンブリ情報(I)...]をクリックすると、デフォルトのアセンブリ情報が出てきます。

アセンブリ情報変更前 

ここで、タイトル、製品、著作権を変更してみます。

アセンブリ情報変更後 

[OK] で保存。

ここでの設定は、実行ファイル MyClock.exe を右クリックして表示されるプロパティで [詳細] ボタンを押して現れる情報に反映されます。

プロパティ情報が変更されたので、[F5] でビルドしデバッグモードで実行して動作確認します。

デバッグモードで作成された MyClock.exe は、作業フォルダの下にある bin\Debug フォルダにあります。このファイルを右クリックしてプロパティを表示すると、ここにアセンブリ情報が反映されていることが分かります。

プロパティ1 

プロパティ2 





アイコンを設定


今は既定のアイコンになっています。そこでアイコンを変更してみます。

以下のサイトから無償で使えるアイコンを選んで使うことにします。

FIND ICONS

こんなアイコンにしてみました。

アイコン 

このアイコンデータは、作業フォルダのどこかにコピーしておきます。今回は、作業フォルダに res フォルダ (リソースフォルダ) を作り、そこにアイコンファイルを入れることにします。

resを追加した作業ファイル  


さて、これをアプリに登録するには、プロジェクトのプロパティを開き、

アイコン登録1縮小 

アイコンとマニュフェスト(C) にチェックが入っていますが、この下にある(既定のアイコン) の右にある参照ボタンをクリックして、res フォルダ内にコピーした xclock.ico を選択します。

アイコン登録2縮小 


このように、アイコンが登録できました。

こうしておいてビルドすれば、アプリのアイコンが変わります。作業フォルダの下にある bin\Debug\ フォルダを開くと、MyClock.exe のアイコンが時計のアイコンになっています。

デバッグモードの実行ファイル 

表示を「中アイコン」に変えてみると、

新アイコンの実行ファイル2 

こんな感じで、それらしいアイコンになったことが分かります。

ところで、作業フォルダの下にある *cs ファイルがあるところに、アイコンファイルがあります。自動的にここにコピーされるようです。

新アイコンのもう一つの場所 


なお、フォーム Display のプロパティにある Icon がまだ既定のアイコンのままになっていますので、これも変更しておきます。今は FormBorderStyle が FixedToolWindow になっているので、フォームにアイコンは表示されませんが、これを仮に Sizable に変更してみると新しいアイコンになります。FixedToolWindow に戻しておきます。

Debug モードで「リビルド」しておきます。そして [F5] キーで実行して、問題ないことを確認します。



Releaseモードでビルド

さて、ビルドには Release モードもありますので、これを使ってみます。

リリースモードに変更 

このように「ソリューション構成」を Rlease に変更し、ビルドするとリリースモードで実行ファイルができます。

リリースモードの MyClock.exe は、作業ファイルの下の bin\Release\ の中にあります。
リリースモードの実行ファイル 
リリースモードで [F5] キーを押すとエラーになって実行できません。リリースモードでビルドするとデバッグ情報が無いのでエラーになります。従って、このフォルダにある実行ファイルを直接実行して動作確認をします。

リリースモードでビルドは、デフォルトで最適化が行われる設定になっています。しかし、デバッグモード、リリースモードいずれの実行ファイルもファイルサイズは 142KBと同じ、この程度の簡単なアプリでは実行速度の違いも分かりません。

一応 リリースモードの実行ファイルを完成形とします。これで、C#で初めて作るアプリ MyClock Ver 0.10 ができました。



ダウンロード

 MyClock Ver 0.10 (ソース付き)








応援クリックをお願いします。励みになるので...


人気ブログランキングへ


FC2ブログランキングへ



    

keywords: プログラム関数電卓、Windowsプログラミング

リンク集 | ブログ内マップ

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム関数電卓は、プログラムを作り・使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。

人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR