none
Reference Assembliesにv4.0フォルダがない RRS feed

  • 質問

  • お世話になります。

    VS2010で開発しています。

    テストしていてエラーになったので調査すると

    開発用のPCには

    C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0

    があるのに

    テスト用のPCには上記フォルダがありませんでした。

    なぜでしょうか?

    どちらもMicrosoft .NET Framework 4 Client Profileをインストールしているんですが。

    2012年6月7日 1:50

回答

  • >なぜでしょうか?

    開発ツールがインストールされていないからではないでしょうか。

    >どちらもMicrosoft .NET Framework 4 Client Profileをインストールしているんですが。

    アプリケーション実行時に使用されるアセンブリは Windows システムディレクトリ配下にあります。

    • 回答としてマーク yty0918 2012年6月8日 2:13
    2012年6月7日 2:04
  • 渋木さんに補足で、

    Reference Assembliesは名前の通り「Reference; 参照」目的のアセンブリであり、実行には関係ありません。

    手元の環境を例にとると

    • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll
      2,589KB
    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll
      5,052KB

    となっています。このサイズの違いは、前者についてはクラス名などのコンパイル時に必要なメタ情報しか含まず、後者はそれに加えて実行に必要なコードも含んでいるからです。

    • 回答としてマーク yty0918 2012年6月8日 2:13
    2012年6月7日 2:47

すべての返信

  • >なぜでしょうか?

    開発ツールがインストールされていないからではないでしょうか。

    >どちらもMicrosoft .NET Framework 4 Client Profileをインストールしているんですが。

    アプリケーション実行時に使用されるアセンブリは Windows システムディレクトリ配下にあります。

    • 回答としてマーク yty0918 2012年6月8日 2:13
    2012年6月7日 2:04
  • 渋木さんに補足で、

    Reference Assembliesは名前の通り「Reference; 参照」目的のアセンブリであり、実行には関係ありません。

    手元の環境を例にとると

    • C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0\mscorlib.dll
      2,589KB
    • C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll
      5,052KB

    となっています。このサイズの違いは、前者についてはクラス名などのコンパイル時に必要なメタ情報しか含まず、後者はそれに加えて実行に必要なコードも含んでいるからです。

    • 回答としてマーク yty0918 2012年6月8日 2:13
    2012年6月7日 2:47
  • 渋木宏明さん

    佐祐理さん

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

    そういうことでしたか。

    エラーになった原因は他にありそうなので別途調査します。

    2012年6月8日 2:13
  • >どちらもMicrosoft .NET Framework 4 Client Profileをインストールしているんですが。

    開発用のPCに Client Profile だけがインストールされていることはありえないです。

    必ずフル版が入っているものと思われます。

    2012年6月8日 8:55
  • 疑うべきは多いのですが、エラーは詳細な情報を得られないのでしょうか。
    例外メッセージが出ているのであればそれを開示してください。そのほか、イベントログに何か残っていないかも気にしてください。

    以下は可能性の話です。
    ・必要としているアセンブリが .NET Framework 以外に必要であるとか。(レポートとか、その他)
    ・特定のフォルダー、あるいはファイルが存在することが前提となっていないか。

    2012年6月8日 14:41
    モデレータ