none
参照設定の正しい外し方は? RRS feed

  • 質問

  • ここにあるNetOfficeってのを使ってたんですが
    http://netoffice.codeplex.com/
    使わなくなったので、参照設定を削除して、該当のDLLも削除したいのです。

    ソリューションエクスプローラーの参照設定のところで
    NetOffice 右クリック→削除
    としたところ、(該当のDLLを使っているコードはすでにもう一切ないのに)ビルドできなくなります

    不明なビルドエラー'あらかじめ読み込まれていないため、
    アセンプリ'Net Office, Version = 1.5.1.2, Culture=neutral, PublicKey=(略)
    への依存関係を解決できません。
    ReflectionOnly API を使用するときは、依存関係アセンブリをあらかじめ読み込むか、
    またはReflectionOnlyAssemblyResolveイベント経由の要求に応じて読み込まなければなりません

    が発生しました。

    というエラーになります。
    Reflection API だの何だのは使った覚えもなく、全く意味不明です。

    使わなくなったDLLへの参照設定を外したいだけなのですが、操作は上記のような
    右クリック→削除 ではだめで、何か特殊な操作がコツ用なのでしょうか?

    よろしくお願いします。

    2013年10月31日 5:44

回答

  • Projet Wizardというものを使ってはおらず、すでに作ってから何か月も立っていたものに、後から参照設定をつけたものです。

    そうでしたか…参照設定は基本的に(ビルド時の中でも)コンパイル時に使用されるものですが、挙げられているエラーメッセージはコンパイル時のものではありません。ですので参照設定・コンパイルではない部分でエラーになっているように推測しました。

    [ツール]-[オプション]のダイアログの中に[ビルド/実行]の項目があり、ここに[MSBuild プロジェクト ビルドの出力の詳細]があります。これの出力レベルを順次上げていきながら、リビルドを行い(当然同じエラーが発生します。)、出力ウィンドウの内容を確認してください。関係ありそうな内容を本スレッドに貼り付けてもいいと思います。
    それにより原因究明が可能です。

    XAMLやコードビハインドなど、C#コードのファイル数が100以上は軽くあるので、新規にプロジェクトを作ってそちらに持っていくというのもなかなか大変そうなのですが、もしやるとしたら効率のいいやり方はどういったものでしょうか? 1つ1つファイルをコピーしていくしかないでしょうかね。

    エクスプローラーでしたら複数のファイルを選択して一括でコピーできますが…そういう話ではありませんか? コピー後に、Visual Studioのソリューションエクスプローラー上で、[プロジェクト]-[既存の項目を追加]で取り込めますし。

    • 回答の候補に設定 星 睦美 2013年11月5日 1:35
    • 回答としてマーク 星 睦美 2013年11月22日 4:54
    2013年10月31日 23:16

すべての返信

  • もしかしてProject Wizardを使用して作成されたプロジェクトファイルでしょうか? であるとすると、プロジェクトファイルのうちソリューションエクスプローラーからは操作できない個所に設定が書き込まれていて、それが原因でエラーになっているのかもしれません。
    projファイルの書式がわかっていれば不要な部分をテキストエディタで削除できますが…。

    新規にプロジェクトを作成し直してはどうでしょうか。

    2013年10月31日 6:12
  • Projet Wizardというものを使ってはおらず、すでに作ってから何か月も立っていたものに、後から参照設定をつけたものです。

    そこからもう1年以上経っているので詳細は覚えていませんが、普通に手動で、参照の追加、としてやっただけだと思います。

    あと一応、ネットの色々な個人HPで、これをやらないと動かないというのわ参考にして、

    ローカルコピー=True

    相互運用機能型の埋め込み=False

    特定バージョン=False

    などとプロパティを変えたようです。

    XAMLやコードビハインドなど、C#コードのファイル数が100以上は軽くあるので、新規にプロジェクトを作ってそちらに持っていくというのもなかなか大変そうなのですが、もしやるとしたら効率のいいやり方はどういったものでしょうか? 1つ1つファイルをコピーしていくしかないでしょうかね。

    2013年10月31日 22:49
  • Projet Wizardというものを使ってはおらず、すでに作ってから何か月も立っていたものに、後から参照設定をつけたものです。

    そうでしたか…参照設定は基本的に(ビルド時の中でも)コンパイル時に使用されるものですが、挙げられているエラーメッセージはコンパイル時のものではありません。ですので参照設定・コンパイルではない部分でエラーになっているように推測しました。

    [ツール]-[オプション]のダイアログの中に[ビルド/実行]の項目があり、ここに[MSBuild プロジェクト ビルドの出力の詳細]があります。これの出力レベルを順次上げていきながら、リビルドを行い(当然同じエラーが発生します。)、出力ウィンドウの内容を確認してください。関係ありそうな内容を本スレッドに貼り付けてもいいと思います。
    それにより原因究明が可能です。

    XAMLやコードビハインドなど、C#コードのファイル数が100以上は軽くあるので、新規にプロジェクトを作ってそちらに持っていくというのもなかなか大変そうなのですが、もしやるとしたら効率のいいやり方はどういったものでしょうか? 1つ1つファイルをコピーしていくしかないでしょうかね。

    エクスプローラーでしたら複数のファイルを選択して一括でコピーできますが…そういう話ではありませんか? コピー後に、Visual Studioのソリューションエクスプローラー上で、[プロジェクト]-[既存の項目を追加]で取り込めますし。

    • 回答の候補に設定 星 睦美 2013年11月5日 1:35
    • 回答としてマーク 星 睦美 2013年11月22日 4:54
    2013年10月31日 23:16