C# と .NET Framework 4 を主にWindows Formのアプリケーション開発について

2009年9月23日

.NET Framework 4.0でメモリマップドファイルが復活か .NET Framework 4.0でメモリマップドファイルが復活か

.NET 4.0でメモリマップドファイルを使用する - japan.internet.com デベロッパーの記事によると、古式ゆかしいメモリマップドファイルが.NET Framework 4.0に取り入れられるらしい。

正確には復活ではなくて.NET Frameworkのサポートによりマネージドでできるようになる。

 

その昔.NET Framework 1.0のころ、Cアプリケーションとの通信でこれが無いために苦労させられた。ドットネットだめじゃんみたいな。
(その時は、結局SendMessageで通信する事になった)

 

メモリマップドファイル程ではないが、ジェネリックコレクションはおろか、FIFOとかQueueとかStackとか基本的なコレクションも最初は無くて、ArrayListとHashtableでなんとかしたのは今となってはいい思い出かもしれない。

.NET 4.0では並列プログラミングをサポートするParallel Extensionsも導入される見込みだし。

 

ただ、Windows 7の最初から.NET 4.0が含まれていないのが残念でならない。
エンドユーザの環境に.NET 4.0をインストールするように再度お願いする必要があるからだ。

それでも着実に進化している。
オープンソース実装であるmonoも一部サポートしない名前空間があるが、結構なペースで着いて来てるし。


VS2010のリリースが何時になるのか未だ公表されていないが、結構楽しみにしている。

 

参考:次期Visual Studio 2010と.NET Framework 4.0の新機能 - @IT

2009年5月10日

Windows7の環境 Windows7の環境

Windows7では、.NET Famework上のアプリケーションから見た環境周りも変わっているだろうか。 今回はSystem.EnvironmentクラスとGetFolderPathメソッドについて確認した。

続きを読む "Windows7の環境"

2009年5月 8日

Windows7に入っている.NET Frameworkは? Windows7に入っている.NET Frameworkは?

(Windows7 RC版をもとにした記事です。製品版では異なる可能性もあります)

結論から言えば、 3.5.1 です。

2009年4月25日

MySQL Connector/Net 6.0 がリリースされていました MySQL Connector/Net 6.0 がリリースされていました

ORACLEのSun買収で気になった訳ではないが、MySQL関連を調べていたら MySQL Connector/Net 6.0が正式リリースされていました。

MySQL Connector/Net 6.0のダウンロードページ

主な変更点

  • 重要なスピードアップ。
    多くの領域でConnectorは、ネイティブのCコネクタ同等以上に高速です。
  • UDF Schemaコレクションの追加
  • より良いSQLとストアド・プロシージャトークン。
    すべてのコメントタイプのサポート。
  • 初期のEntity Frameworkサポート
  • Visual Studio Integrationの完全書き直し。
    次の新機能を含んでいます:
    ・Use of the traditional SQL Server buttons for keys, indexes, etc.
    ・Ability to generate a change script
    ・Use of Visual Studio's code editor which includes window splitting and syntax highlighting

さっそくダウンロード&インストールしてみました。

インストールされたアセンブリ

プロジェクトの参照の追加を確認してみると、MySqlで始まるアセンブリが4つ追加されていました。

image

続きを読む "MySQL Connector/Net 6.0 がリリースされていました"

2009年2月22日

Microsoft Public License - Ms-PL Microsoft Public License - Ms-PL

Microsoftのオープンソース ライセンスの一つで、Open Source Initiative (OSI)に認定されている。Ms-PLとMs-RLの2つのライセンスが存在する。

Ms-PLで検索するとMicrosoft Permissive License (Ms-PL)というものも出てくる。こちらは前身のシェアード ソース ライセンスと呼ばれていたものでOSIに認証される過程でMicrosoft Public Licenseに変わったようです。

2008年以降、ほとんどMs-PLに関する記事が見つからないのは議論が収束したからなのか...結論というか広く認知された解釈が見つからないです。

ライセンスの条文の解釈はとても難しい上、その方面に明るくないため具体的に商用に使用するための説明は申し訳ないですが書けませんので、覚書程度に参考情報をまとめておきます。

  • Microsoftのシェアード ソース ライセンスの説明 (公開日: 2005年10月18日)
    http://www.microsoft.com/japan/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx#EKC この中で、Ms-PLについて次のようの要約されています。

    Microsoft Permissive License (Ms-PL) - Ms-PL は、最も制限の緩いマイクロソフト ソース コード ライセンスです。このライセンスでは、被許諾者は、ソース コードを商用または非商用の目的で表示、変更、および再頒布できます。Ms-PL の下では、被許諾者は、ソース コードを変更したり、他のユーザーに開示することができます。また、希望する場合は、変更したソース コードに対してライセンス料を課金することもできます。マイクロソフトでは、開発者向けツール、アプリケーション、およびコンポーネントで、このライセンスを最も一般的に使用しています。

C#でZipファイル (DotNetZip Library) C#でZipファイル (DotNetZip Library)

C#から圧縮を扱う場合、.NET Framework 2.0 以上であれば、GZipStreamクラス(System.IO.Compression名前空間)があります。ただし、1ストリームの圧縮ですので、複数ファイルを直接扱うことはできませんし、圧縮率もそれほど高くありません。

.NET Framework 3.0以上であればZipPackageクラス(System.IO.Packaging名前空間)を使用できます。残念ながらこのクラスもOPC (Open Packaging Conventions)定義のデータパッケージを扱うものでZip書庫を扱うものではありません。
このため、独自アプリケーションの固有データファイルとして使用する場合は有効ですが、Zipファイルを対象とした場合使えません。
参考:saeki-k の日記:.NET Framework 3.0のZipPackageクラス

結局のところ外部のアセンブリを利用するしかありません。

現状Zipファイルにマネージドアプリケーションからアクセスす場合、DoNetZip Libraryを使用するのがよさそうです。

続きを読む "C#でZipファイル (DotNetZip Library)"

2008年11月25日

エラーコード:0x64C でVisual Studio 2005 SP1がインストールできない エラーコード:0x64C でVisual Studio 2005 SP1がインストールできない

Windows Server 2003 SP2に開発環境とTeam Foundation Serverを構築中つまずきました。

Windows Updateでも、単体のインストーラでも失敗します。

次の3つを試したところ、Visual Studio 2005 SP1 がインストールできました。
どれか1つでも大丈夫かもしれませんが試していません。

続きを読む "エラーコード:0x64C でVisual Studio 2005 SP1がインストールできない"