C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: 参照設定に関して


(過去ログ 74 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■43442 / inTopicNo.1)  参照設定に関して
  
□投稿者/ まぐねしうむ (78回)-(2009/11/10(Tue) 17:44:48)

分類:[C#] 

プロジェクト=>参照設定に関して教えてください。

開発環境 VS2005 SP2 WindowsXp Sp3

.NET Reflectorを使用して、自分で作成したコードを見てみたところ
Referenceの項目にmscorlibが2つありました。
(コード自体は2.0で書いています。)

中身は1.1の物と2.0の物のようなのですが、複数参照が設定されているみたいですが
これは問題ないのでしょうか?

mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089

特に問題なければ良いのですが、消そうにもmscorlibはVSのIDE上に参照設定に無いので
手動で消すことが出来ません。

どなたか、よろしければ教えてください。

引用返信 編集キー/
■43446 / inTopicNo.2)  Re[1]: 参照設定に関して
□投稿者/ 魔界の仮面弁士 (1380回)-(2009/11/10(Tue) 19:40:08)
No43442 (まぐねしうむ さん) に返信
> .NET Reflectorを使用して、自分で作成したコードを見てみたところ
> Referenceの項目にmscorlibが2つありました。

例えば、Microsoft.VisualBasic.Compatibility.dll のメタデータには、
mscorlib.dll ver 1.0.3300.0 への参照だけでなく、
mscorlib.dll ver 2.0.0.0 への参照も含まれていました。

もちろん、ver 1.0.3300.0 の mscorlib.dll だけを参照するもの(ADODB.DLL)や、
ver 2.0.0.0 のみの物(Microsoft.VisualBasic.dll や Microsoft.JScript.dllなど)も
ありますけれども。


> 消そうにもmscorlibはVSのIDE上に参照設定に無いので
> 手動で消すことが出来ません。
最小構成であっても、mscorlib 2.0.0.0 は自動的に組み込まれます。

無理に消すのであれば、コンパイラ オプション /nostdlib+ を使った上で、
望ましいアセンブリバージョンのみを /refrence: で指定できますが、
IDE から指定する物でもありませんし、気にする事は無いような気がしますけれどね。


> 複数参照が設定されているみたいですが
> これは問題ないのでしょうか?

分かりませんが、動いているのであればそれが正しいのかも。

ビルドするときには、csc.exe に対するコマンドラインオプションが表示されるかと
思いますが、その /reference: オプションに、複数バージョンの mscorlib が
指定されていますか?
引用返信 編集キー/
■43477 / inTopicNo.3)  Re[2]: 参照設定に関して
□投稿者/ まぐねしうむ (79回)-(2009/11/11(Wed) 10:39:25)
No43446 (魔界の仮面弁士 さん) に返信

ご回答ありがとうございます。

> もちろん、ver 1.0.3300.0 の mscorlib.dll だけを参照するもの(ADODB.DLL)や、
> ver 2.0.0.0 のみの物(Microsoft.VisualBasic.dll や Microsoft.JScript.dllなど)も
> ありますけれども。
指摘されたとおり、他の参照設定の影響で複数のmscorlib が登録されていた
見たいでした。

ためしに空のプロジェクトファイルに参照を追加してサンプルコードを
書いたところ勝手に参照が追加されていました。

> 無理に消すのであれば、コンパイラ オプション /nostdlib+ を使った上で、
> 望ましいアセンブリバージョンのみを /refrence: で指定できますが、
> IDE から指定する物でもありませんし、気にする事は無いような気がしますけれどね。
確かに無理やりする必要もないですね。

> ビルドするときには、csc.exe に対するコマンドラインオプションが表示されるかと
> 思いますが、その /reference: オプションに、複数バージョンの mscorlib が
> 指定されていますか?
コマンドラインからのコンパイルは行ったことがないので(IDEでやっています。)
ちょっと分からないです。

とりえず、特に問題がないと思われますので解決済みにしたいと思います。
魔界の仮面弁士 さん 回答どうもありがとうございました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -