1つのソリューションで複数のプロジェクトを含む.netアプリケーションでは、名前空間がCompany.Product.UIに設定され、もう1つがCompany.Product.UI.WebPagesでプロジェクトが作成されています。私の問題は、2つのdllは2つのプロジェクトを構築した結果です。どのように私は単一のdllを持つことができ、現在のソリューション構造を保持します。私はVisual Studio 2008とC#を使用します。複数のプロジェクトからの単一アセンブリ
答えて
2つのプロジェクトを1つのプロジェクトにマージするか、ILMergeのようなツールを使用して、結果のアセンブリを1つのアセンブリにマージする必要があります。
ILMergeは 単一のアセンブリに複数の.NETアセンブリをマージする を使用することができるユーティリティです。 Microsoft Framework Developer Centerのツール& ユーティリティページから自由に使用できる です。
あなたはMSBuildのタスクとしてILMergeを自動化したいなら、私はあなたがilmerge-tasksを見てみることをお勧め:
自動ビルド時にILMergeを使用してに興味が? ILMergeのタスク には、 という2つのビルド可能プロジェクトが含まれており、MSBuildとNAntの両方からILMergeに というタスクとしてアクセスできます。 には、 がILMergeとタスクdllをマージするポストビルドイベントが含まれているので、 の場合は、 ILMerge.exeが存在しない状態でタスクを使用できます。
Visual StudioのビルドプロセスでILMergeを統合することはできますか私はその作業を自動化するように? – kjv
@kjvこれは、ilmerge-taksビットについてです –
2つのプロジェクトのすべてのファイルを含む新しいプロジェクトファイルを作成できたと思います。これにより、現在の構造を開発用に保持し、マージされたプロジェクトファイルを使用してプロジェクトからリリースされる出力を構築することができます。プロジェクトファイルはかなり簡単なxmlファイルなので、テキストエディタでそのファイルを開くと、どのように素早く動作するのかが分かります。
もちろん、このアプローチの明らかな欠点は、プロジェクトの1つでファイルを追加または削除するときに、この3番目のプロジェクトファイルを維持する必要があることですが、それが頻繁に起こらないものであれば、まあ、私は思う。
これを行う簡単な方法がありますが、これは最善の方法ではありません。必要なdllの名前を持つ新しいソリューションを作成します。このプロジェクトでは、2つのプロジェクトの名前と同じフォルダ構造を作成します。その後、特定のフォルダで、[既存のアイテムを追加]を実行します。その名前のプロジェクトにcsファイルを追加します。ファイルを追加するときは、[追加]ボタンの[リンクとして追加]を選択します(追加ボタンの横にあるドロップダウンがあります)。それを続けてビルドしてください。あなたはdllを持っています。
例えば、 Aという名前のプロジェクトとBという名前のプロジェクトがあり、Cと呼ばれるdllにそれらをマージしたい場合Cと呼ばれる新しいプロジェクトを作成します。このプロジェクトの中にAという名前のフォルダとBという別のフォルダを追加します。 csファイルX.csとBにはY.cs.xというファイルがあります。 Aというフォルダで、右クリックして既存のアイテムを追加します。プロジェクトAに行き、X.cs.を選択します。 [追加]ボタンの横に、下向き矢印が表示されます。それをクリックし、[リンクとして追加]を選択します。このプロジェクトをビルドすれば、binフォルダにdllが置かれます。
- 1. 単一のAS3プロジェクトの複数のターゲットデバイス
- 2. 単一のソリューションで複数のMVCプロジェクト
- 3. 複数のドメインから単一のウェブサイト
- 4. 単一のアセンブリ内の複数のEFモデル
- 5. ASP.NET \ C#プロジェクトで複数のアセンブリをサポート
- 6. 複数のアセンブリからのマッピング
- 7. 複数の単一フィールドインデックス対複数フィールドインデックス
- 8. 複数のジャー、単一パーシスタンスユニットソリューション?
- 9. ハードリンク付きの単一のレポからの複数のgitチェックアウト?
- 10. 単一のprintlnからの複数のログステートメント
- 11. C++ WxWidgets:複数のスレッドからのメッセージの単一ログウィンドウ
- 12. 単一のテーブルからの複数の参照
- 13. 複数の列HTMLテーブル単一の列のテキストファイルからPHP
- 14. 単一のSpring MVCコントローラからの複数の戻り型
- 15. MVC3&Razorの単一アクションから複数のビューを返す
- 16. Matplotlib:複数のサブプロットから単一のサブプロットを取得する
- 17. 単一のモデルから派生した複数のMVC ViewModels
- 18. 単一のフォームから複数のエンティティを挿入する
- 19. 単一のアクティビティから複数のwebviewを開く
- 20. 単一の行から複数の行を返す
- 21. 単一の "コントロール"パネルから複数のJPanelをペイントする
- 22. 単一の列select文から複数の列を表示
- 23. 単一オブジェクトからの複数のjQueryプラグイン
- 24. 複数の列から単一の列に値を選択
- 25. ベストプラクティス:複数のエンティティから単一のエンティティへ
- 26. 単一のgitリポジトリに複数のXcodeプロジェクトがありますか?
- 27. CakePHPの:、単一のモデルから複数のレコードが一つの形
- 28. 単一画像から複数画像へのアップロード
- 29. 単一画像から複数のQRコードをスキャンするiOS
- 30. 単一のmatplotlib図の複数のプロット
http://stackoverflow.com/questions/1878807/visual-studio-2008-creating-single-dll-from-solution-with-many-projects –