2ちゃんねる用ブラウザ「twintail」その9

このエントリーをはてなブックマークに追加
134名無しさん@お腹いっぱい。
.NET ランタイムに関する混乱があるようなので補足。

.NET ランタイムはバージョン毎に独立しています。
「必要であれば、全てのバージョンをインストールする」のが正解です。
CLR 2.0 は、1.0/1.1 を上書きするものではなく、
互換性は、本来的に保証(考慮)されません。
たとえば、1.0/1.1 製のアプリを、2.0 しか入れていない環境で動かすと、
(互換性のない部分に触れて)誤作動する恐れがあります。

誤作動することが分かっているのなら、そもそも、
異なるバージョンのランタイムで不用意に起動してしまわぬよう、
開発者がアプリを正しく設定すべき。
ところが、2.0 以前は、この問題が表面化していなかったので、
開発者がこれに気付いていない場合も……。
135名無しさん@お腹いっぱい。:2006/01/11(水) 13:16:17 ID:U7+CXGBv0
>>134
ていうか、1.0しか入ってない環境で、
1.1や2.0アプリが動いたら駄目なのでは。
「1.1が必要です」「2.0が必要です」とか
メッセージ出して終了するのが普通。
そんなのアプリ側の仕事じゃないと思う。
136名無しさん@お腹いっぱい。:2006/01/11(水) 13:52:02 ID:vtasICGf0
>>135
話が噛み合ってないっすよ。
137名無しさん@お腹いっぱい。:2006/01/11(水) 14:09:58 ID:U7+CXGBv0
>>136
「開発者がアプリを正しく設定すべき」に対して
「アプリ側の仕事じゃない」って事なんだけど。
つまりMSが何とかしろと。合ってない?
138名無しさん@お腹いっぱい。:2006/01/11(水) 18:27:45 ID:/eUdjCm10
お気に入り削除しても再起動すると消したハズのモノ復活してるんですが?

どうすれば?
139名無しさん@お腹いっぱい。:2006/01/11(水) 18:39:34 ID:U7+CXGBv0
>>138
.\User\Favorites.txt をエディタで編集するとか。
140stream ◆PNstream2s :2006/01/11(水) 18:41:43 ID:YvUsUt/h0
>>135
1.0しかはいってない環境で1.1アセンブリや2.0アセンブリは動きませんよ
141てつと ◆/RtqBUGz8o :2006/01/11(水) 19:42:38 ID:EGs4c1rs0
やっと風邪直ってきた。。
今から2.0でビルドしてみます。
なんか混乱させてすみません。。
142名無しさん@お腹いっぱい。:2006/01/11(水) 19:51:23 ID:aMH/T90K0
>>141
ご自愛ください
143名無しさん@お腹いっぱい。:2006/01/11(水) 21:14:54 ID:jMDJ1JxO0
>>141
無茶すんなよー
144名無しさん@お腹いっぱい。:2006/01/11(水) 21:22:07 ID:HZ/h+hrA0
「レスの抽出」に、「これを参照しているレスも連鎖で抽出」のオプションを付けて貰えると便利です〜
145名無しさん@お腹いっぱい。:2006/01/12(木) 17:14:31 ID:m+Lq7Uk/0
>>137
合ってない。
ランタイムのバージョン指定がない場合自動的に最新版が使われるから、
アプリケーションで「1.0」や「1.1」を明示的に指定してくれってことでしょ。

たとえば COM コンポーネントを CreateObject で呼び出すときと同じ。
Word2000 と 2002 が両方インストールされてる状態で
「Word.Document」として実行すると Word 2002 のドキュメントオブジェクトが
作られちゃうから、それじゃ困る (Word 2000 のドキュメントが欲しい) 場合は
「Word.Document.9」として作成しなきゃいけない。それと同じ。

1.0 と 1.1 の二つがある場合に 1.1 のアセンブリとしてロードされるても問題ないけど、
2.0 も入ってると問題がおきるからアプリケーションのプロパティで明示的にアセンブリ
バージョンを指定してほしいってこと。
「あるアプリケーションがどのバージョンのアセンブリなのか」っていうのは作成者にしか
分からないんだから、このバージョン指定はアプリケーション側 (というか作成者の) 仕事。
146stream ◆PNstream2s :2006/01/12(木) 17:23:25 ID:BG9obUqj0
>>145
>ランタイムのバージョン指定がない場合自動的に最新版が使われるから

ビルドされたときのバージョンの.NET Frameworkが存在すれば、それが呼ばれます。
これは特別な指定は必要ありません。サイドバイサイド実行ってやつです。
うちのPCは1.0と1.1と2.0が入ってて、作者ビルドのtwintailは1.0で動作しております。

http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_04/idnfw11_04_01.html

現に>>99氏は1.0をインストールしただけで問題が解決したじゃないですか。。。
147stream ◆PNstream2s :2006/01/12(木) 17:25:10 ID:BG9obUqj0
148名無しさん@お腹いっぱい。:2006/01/12(木) 18:46:09 ID:9ZEgYC3b0
>>145
> ランタイムのバージョン指定がない場合自動的に最新版が使われるから、
これがもし本当なら、そう実装したMSが間違ってる。
自分がどんな環境でビルドされたかは分かってるんだから、
上位互換じゃない訳だし、自動的に最新版なんて使っては駄目。
そんな事はアプリの仕事じゃない。
149名無しさん@お腹いっぱい。:2006/01/13(金) 20:54:15 ID:/XlIg7Ee0
>>145
それじゃあDLL Hellと大して変わりがないじゃないか。
実際はうちのマシンでも1.0を入れたら安定したから、問題はそういう事ではない。

ちなみに俺は>>113
150120:2006/01/13(金) 21:55:10 ID:XaOIyIF+0
120です・・・
依然として、1.0が入りません・・・
>>118からDLしても開いてもインストールできんとです・・・orz
151名無しさん@お腹いっぱい。:2006/01/13(金) 22:21:55 ID:S1HXl0mM0
>>150
私も、
>Microsoft .NET Framework 1.1 Service Pack 1
>Microsoft .NET Framework 1.0 Service Pack 3
がエラーで入りません・・・
15299:2006/01/14(土) 01:37:04 ID:44i5J9Nh0
>>150-151
Service Packの前に本体入れた?

http://www.microsoft.com/japan/msdn/netframework/downloads/sdk.asp

.NET Framework 再頒布パッケージ ダウンロード(20.4 MB)
153stream ◆PNstream2s :2006/01/14(土) 01:53:18 ID:UysYKQwI0
2.0で動かすと問題が起こるなら・・・
↓をtwintail.exeと同じフォルダにtwintail.exe.configってファイル名で置いておけば、1.0か1.1で動きます。
    作者さんが2.0版を配布し始めて、それを使用する場合は、このファイルは消さないとまずいです。

<?xml version ="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v1.0.3705" />
<supportedRuntime version="v1.1.4322" />
</startup>
</configuration>