locked
sgen.exe & silverlight 使用問題 RRS feed

  • 質問

  • 皆様こんにちは。
    例えば:
    silverlight アセンブリ MyClass.dll 中にはひとつクラスだけ
    class MyClass
    {
        private Color color;
        public MyClass{}
    }
    この命令実行して sgen /a:MyClass.dll エラーだし

    エラー: 要求された型のうち 1 つまたは複数を読み込めませんでした。詳細については
    、LoaderExceptions プロパティを取得してください。

    private Color color; この行削除して、実行成功

    sgen.exeはsilverlight対応ない?
    2009年11月16日 1:33

回答

  • エラーメッセージから考えると sgen.exe が Color クラスを見つけられないってことだと思います。
    とりあえず、

    sgen /a:MyClass.dll /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.Windows.dll"

    と、Color のあるアセンブリを /r してやれば sgen.exe は正常に動きました。

    ただ、sgen.exe が作り出したアセンブリは Silverlight 用になっていないのでそのままでは使えないんじゃないかと思います。
    試しに /k でシリアライザのソースを残すようにして、それを Silverlight のプロジェクトでコンパイルしてみましたが Silverlight には無いメソッドやプロパティが使われているようでそのままではコンパイルできませんでした。
    (がんばれば何とかなるものなのか、それともどうにもならないものなのかは私は知りません)


    青柳 臣一 (Shinichi Aoyagi)
    • 回答としてマーク zysc 2009年11月16日 8:06
    2009年11月16日 7:12

すべての返信

  • エラーメッセージから考えると sgen.exe が Color クラスを見つけられないってことだと思います。
    とりあえず、

    sgen /a:MyClass.dll /r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\Silverlight\v3.0\System.Windows.dll"

    と、Color のあるアセンブリを /r してやれば sgen.exe は正常に動きました。

    ただ、sgen.exe が作り出したアセンブリは Silverlight 用になっていないのでそのままでは使えないんじゃないかと思います。
    試しに /k でシリアライザのソースを残すようにして、それを Silverlight のプロジェクトでコンパイルしてみましたが Silverlight には無いメソッドやプロパティが使われているようでそのままではコンパイルできませんでした。
    (がんばれば何とかなるものなのか、それともどうにもならないものなのかは私は知りません)


    青柳 臣一 (Shinichi Aoyagi)
    • 回答としてマーク zysc 2009年11月16日 8:06
    2009年11月16日 7:12
  • ありがとう ございます。
    2009年11月16日 8:09