Debug x86でビルドするように設定されたVisual Studio 2010ソリューションがあります。 Visual Studioは出力パスを\ bin \ x86 \ Debugに設定します。これは十分に論理的です。Visual StudioでWCFプロジェクトをビルドするときの出力ディレクトリ
このソリューションには約50件のプロジェクトが含まれています。スタートアッププロジェクトはWCFプロジェクトです。
ビルドを実行すると、すべての出力dllが\ bin \ x86 \ Debugに移動すると予想されます。これは、プロジェクト設定で設定されているとおりです。しかし、奇妙なことに、bin \ x86 \ Debug と\ binのにdllが作成されているのが分かります。なぜ出力パスがそのディレクトリに設定されていない場合、Visual Studioは\ binに任意のdllを入れますか?すべてのdllは\ bin \ x86 \ Debugにあり、スタートアッププロジェクトを除くすべてのdllはです。\ binに入ります。なぜそれがそれをするだろうか?
Visual Studioからサービスを実行してから、Webブラウザでサービスにアクセスしようとすると、もう1つ問題が発生します.WCFを使用していない他のソリューションは、 http://localhost:1240/MyService.svcに行くと、起動プロジェクトdllが/ binにないために動作しません。したがって、\ bin \ x86 \ Debugから\ binにこの1つのdllを手動でコピーして、すべてのdllが見つかってサービスが正常に実行されるようにする必要があります。 (コピーを行うカスタムポストビルドステップを追加することもできますが、より良い方法があると思います)
WCFプロジェクトで作業している人には、出力パスを残しますか\ bin \ x86 \ Debugにありますか? (おそらく、\ binの代わりに\ bin \ x86 \ Debugにバイナリがあることを知るために、web.configファイルや.svcファイルなどのサービスを設定する方法があります)か、出力パスを次のように変更しますか? \ binを使用すると、Visual Studioから直接サービスを実行できますか?
はい、そのテキストボックスは、私の投稿で話している "出力パス"です。だから、あなたはこれをビンに、ストーリーの終わりに設定すると言っている。あなたがこの出力パスを変更すると、ほとんどのファイルはまだbinにとどまるのですが、奇妙に思えますね。 – Justin
WCF以外のプロジェクトのデフォルト出力パスがbin \\ [BuildConfiguration]フォルダを指しています。 WCFサービスはdllがbinディレクトリに存在し、サブディレクトリに存在しないようにするため、Visual Studioから作成されたWCFプロジェクトのデフォルトのプロジェクト設定はbinフォルダです。 – Chandermani
このビットは、バイナリがソリューション構成マネージャの設定に基づいてbin \ x86 \ debugに入ったMVC3のものをやっています。うまくいけば、次の人の周りを揺らすのに役立ちます....ちょうどbin \ – Snowy