最小値は0
[assembly: AssemblyVersion("0.0.0.0")]
最大値は65534
[assembly: AssemblyVersion("65534.65534.65534.65534")]
この範囲外の値だと、「エラー CS7034 指定したバージョン文字列は、必要な形式 (major[.minor[.build[.revision]]]) に従っていません。 」となる。
■現象
電光ニュースのYahooのRSS読み込み時、「System.Net.WebException: 接続が切断されました: 送信時に、予期しないエラーが発生しました。。 —> System.IO.IOException: リモート パーティがトランスポート ストリームを終了したため、認証に失敗しました。」エラーになる現象を確認。
YahooがTLS1.2より前のプロトコルに対応しなくなったことが原因。
■対応
TLS1.2を有効にするため、.NET Framework4から4.6に上げた後、RSS取得処理の前に、
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12
を追加したところ、エラー無く取得できるようになった。
| WindowsForm | UWP | |
| クリックイベント | private void button_Click(object sender, EventArgs e) | private void button_Click(object sender, RoutedEventArgs e) |
| ラベルコントロール | Label | TextBlock |
| コントロール表示 | control.Show() | control.Visibility = Visibility.Visible |
| コントロール非表示 | control.Hide() | control.Visibility = Visibility.Collapsed |
| テキストボックスクリア | textBox.Clear() | textBox.Text = “” |
| テキストボックスKeyDownイベント | private void textBox_KeyDown(object sender, KeyEventArgs e) | private void textBox_KeyDown(object sender, KeyRoutedEventArgs e) |
| TextBoxの最終行へスクロール | https://dobon.net/vb/dotnet/control/tbscrolltolast.html | https://code.msdn.microsoft.com/windowsapps/How-to-scroll-to-the-a8ea5867 |
| タイマー | Timerコントロール | DispatcherTimerコントロール |
| タイマーTickイベント | private void timer_Tick(object sender, EventArgs e) | private void timer_Tick(object sender, object e) |
| EntityFramework | EntityFramework | Microsoft.EntityFrameworkCore
プロジェクトのターゲットの最小バージョンをWindows 10 Fall Creators Updateに上げないと、NuGetから入れられない |
| SQLite | System.Data.SQLite | Microsoft.EntityFrameworkCore.Sqlite
SqliteConnectionやSqliteCommandのようにSQLiteの表記が先頭以外小文字になっているので注意 |
| SQLite新規ファイル作成 | SQLiteConnection.CreateFile(“ファイル名”); | CreateFileが無くなっていた・・・ アクセスするだけで、0KBのファイルが作成された。 |
| フォルダ名を指定せずにファイル作成 | カレントディレクトリに作成される | Windows.Storage.ApplicationData.Current.LocalFolder.Path
例)C:\Users\ユーザ名\AppData\Local\Packages\xxxxx-xxxxx-xxxxx-xxxxx_xxxxx\LocalState |
EXE単体で動作させた場合と、Visual Studio2017でデバッグした場合とで動作速度が極端に違う現象に遭遇。
ツール→オプション→IntelliTraceにて、「IntelliTraceを有効にする」のチェックを外すことで、EXE単体の動作速度とほぼ変わらずデバッグできるようになった。 続きを読む 【Visual Studio2017】デバッグが極端に遅い場合は、IntelliTraceを無効にする
/// <summary>
/// EXE保存パスからの相対パスを絶対パスに変更
/// </summary>
/// <param name="relativePath">例.「Setting\Setting.xml」</param>
/// <returns>EXE保存パス+relativePath</returns>
public static string GetFullPath(string relativePath)
{
//EXE保存パス取得
string exePath = System.Reflection.Assembly.GetEntryAssembly().Location;
//EXE保存パス+渡された相対パス
return System.IO.Path.Combine(System.IO.Path.GetDirectoryName(exePath), relativePath);
}
Visual Basic Power Packsを利用すると、LineShapeコントロールが利用できる。 続きを読む 【Visual Studio2017】【C#】LineShapeコントロールを利用してフォームに線を描画する