これはタイトルを辿るのが難しい概念なので、それが完全にアイデアを捉えなければ私を許してください。ビルド時にVisual StudioライブラリプロジェクトをDLLをWebプロジェクトに「プッシュ」しないようにするにはどうすればよいですか?
おそらく、私は狂ったが、私はちょうどこの行動に気づいた:
- のVisual Studioソリューション
- を作成DLLライブラリプロジェクト(私はC#のを使用して...動作は同じであるかどうかを知りませんを作成します。別の言語固有のDLLプロジェクトを使用して)。
- 新しいウェブクライアントからライブラリ
- からウェブクライアントB(私はASP.NETプロジェクトを使用)
- 参考にライブラリを作成し、ウェブクライアントA(私はMVC 3プロジェクトを使用)
- リファレンスを作成します。新しいWebクライアントB
- (タイムスタンプの差は明らかであろうように、少なくとも分)ソリューションをビルドし
- は
- 開き、2つのWindows Explorerのウィンドウビットを待っ:WebクライアントAのビンに1つずつをWebクライアントBのビンに移動します。クライアントプロジェクトとライブラリプロジェクトのネイバー(プロジェクト参照用の「ローカルコピー」は普遍的なデフォルトであると仮定します)
- ビルドライブラリプロジェクトだけです。私のシステムで
は、ライブラリのDLLはがを押す(または相互引か)クライアントのbinフォルダにあるように思われます。これは、ステップ8で待っていれば、タイムスタンプの差によって明らかになるはずです。もう一度、おそらく私は狂っていますが、私はこのシナリオを前に行ったことがあり、
私はこの種の配置のソリューションで作業していて、ソリューション全体を構築するのではなく、個別に2つのWebアプリケーションを構築していたため、問題が発生しました。 WebアプリケーションAをビルドするとうまくいきましたが、WebアプリケーションBは "FileNotFoundException:ファイルまたはアセンブリを読み込めませんでした"というエラーが表示されます。そして、その逆も同様です。
の質問にそう:
はこの正常な動作です(どちらか私はクレイジーだかの前に、このシナリオであることについて間違っていますか)?
通常でない場合、クライアントDLLのビルド時にライブラリDLLがクライアントに入るように設定することはできますか?
これは奇妙です。 dllをビルドする場合、それはソリューションのbinフォルダーにのみビルドする必要があります。どのようにそれをプッシュするかを知っていますか?多分あなたのビルドに何かがありますか?あなたはそれをコピーするためにポストビルド操作を追加する人はいないでしょうか? – gbianchi
@gbianchi - 既存のソリューションがロードされていない上記の手順を実行すると、この現象が発生します。つまり、ビルド後のアクションなどは絶対にありません。私のマシンでは、デフォルトの動作... "default"しかありません。 –
暗闇の中で撮影:これはReSharperが行うことができますいくつかのintellisenseの必要性のためにこれを行う? –