2

答えを探すのに何日も費やしましたが、何が起こるかわかりません。

私は4つのプロジェクトで解決策を持っています。そのうちの 1 つは他の 3 を参照しています。すべての参照は「copy local = false」に設定されています。

それぞれの出力フォルダーを作成しましたが、出力フォルダーを変更することを決定するまで、すべてが順調に進んでいました。:-(

プロパティ「copy local = false」を使用してプロジェクトを別のプロジェクトに参照すると、プロジェクトが読み込まれず、次のエラーが表示されます

ファイルまたはアセンブリ "..." またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

エラーの FusionLog から、Studio がまだ古いパスでプロジェクトの .dll を探していることは確かです。

「copy local = true」を設定するとプロジェクトが実行されますが、この解決策は受け入れられません。

コピー ローカルを false に設定してプロジェクトを再度読み込むにはどうすればよいですか? Visual Studio が参照するパスを変更するにはどうすればよいですか? クリアまたは更新できるキャッシュはありますか?

これについて何か助けてくれてありがとう。

4

2 に答える 2

0
  1. ソリューション全体 (すべてのファイル) のバックアップ コピーを取得します。
  2. ソリューション (.sln) ファイルを見つけます。
  3. そのアイコンを右クリックして [プログラムから開く] を選択し、メモ帳または同様のテキスト エディターを選択します。
  4. 古いパスの一部または全部を検索します。
  5. ファイル内で見つかった場合は、古いパスのすべてのインスタンスを新しいパスに置き換えます。
  6. ファイルを保存します。
于 2013-07-24T15:04:42.873 に答える
0

これを依存プロジェクトの app.config (つまり、他のプロジェクトに依存するプロジェクト) に追加します。

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <probing privatePath="*relative path to assemblies here*" />
    </assemblyBinding>
</runtime>

「ここのアセンブリへの相対パス」は、アセンブリがビルドされる場所 (新しい出力フォルダー) への実際の相対パスに置き換えられます。

MSDN

于 2013-07-24T14:58:39.790 に答える