投稿

3月, 2017の投稿を表示しています

coloader80.dll が見つからない?

VS2008のプロジェクトをビルドしたら、coloader80.dllが見つからないとかなんとかエラーになってしまう。なんかどうも、VS2017が原因っぽいです。ググってみたら、こんな情報が出てきた。Visual Studio dll の coloader80.dll が正しくインストールされていませんリンク先の情報ではデバッグが動かかなくという事ですが、Releaseでビルドしたプログラム、インストーラーのビルドなんかも動作しなくなりました。手順に従ってcoloader80.dllを登録したら、解決。助かった。OSはWindows10 Pro(64bit)、Visual Studio 2008 Professional Edition で確認

obsolete属性

イメージ
クラスライブラリを作っていて、既存のメソッドを非推奨にしたい事があります。例えば新規に実装したメソッドの方が効率が良いんだけど、古いメソッドも残しているようなケース。メソッドの名前だけ残して、呼ばれたら例外を投げるような実装でも事足りるような気がするんだけど、不用意に例外が出るのもバグっぽいし、代替できるメソッドもあるなら、それへの手がかりも表示もしたい。なんかうまい手はないかと思ってたら、今時のC#にはちゃんと用意されていました。Obsolete (C# プログラミング ガイド)で、実際に試してみる。メソッドにobsolete属性を付ける単純にメソッドに以下のような記述を追加すればOK。[System.Obsolete("'Get' メソッドを使用して下さい", true)]
public abstractMaterial GetMaterial(string matName)
この状態でビルドすると、メソッドを使っている箇所でエラーになるけど、ちゃんと別のメソッドを使うように促される。VSの画面でもしっかり表示される。うーん、よくできている。実際には、うっかり似たようなメソッドを作ってしまったり、名称の統一感がない(Begin/EndとStart/Endとか)名称で付けてしまってメソッドを整理するケースが多いかな?

Visual Studio2017でクラスダイアグラムが作れない

イメージ
Visual Studio (以下、VS2017)で、「.NETデスクトップ開発」を選んでインストールして、新しいプロジェクトでクラスダイアグラムを新規に作成しようとしたら見当たらない。既定だとダイアグラムは含まれてない?単に見落としているだけか?再度インストーラーを起動して、それらしいオプションがないか眺めていたら「個別のコンポーネント」タブに「クラスデザイナー」というのがあったので、これをチェックしてインストールしたらクラスダイアグラムが作れるようになった。デスクトップの開発では、それほど使う人いないのか?