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. Visual Studioで単一アプリケーション用に複数のプロジェクトから単一インストーラを作成
- 2. 単一のAS3プロジェクトの複数のターゲットデバイス
- 3. Laravel複数のプロジェクトを単一のパッケージ
- 4. 単一のソリューションで複数のMVCプロジェクト
- 5. 複数のドメインから単一のウェブサイト
- 6. 単一のアセンブリ内の複数のEFモデル
- 7. ASP.NET \ C#プロジェクトで複数のアセンブリをサポート
- 8. 複数のアセンブリからのマッピング
- 9. Angular 2 + webpackプロジェクトのlodashから単一の関数をインポート
- 10. 複数のプロジェクトを単一ルートのアーティファクトとして公開
- 11. NGINXを使用した単一ドメイン上の複数のLaravelプロジェクト
- 12. 複数のプロジェクトを単一のアプリケーションに統合する
- 13. 複数のプロジェクトを単一のNuGetパッケージにパッケージ化する
- 14. 単一Eclipseワークスペース内で複数のMavenプロジェクトをインポート
- 15. 単一スキーマと複数のプロジェクトを使用したフライウェイ移行
- 16. 複数の単一フィールドインデックス対複数フィールドインデックス
- 17. 複数のエントリ単一セル
- 18. MongoDB複数の単一インデックス
- 19. 複数のジャー、単一パーシスタンスユニットソリューション?
- 20. wordpress複数の単一ページ
- 21. 複数のクラスインスタンスの単一ファイルから複数のプロパティセットを読み込む
- 22. ハードリンク付きの単一のレポからの複数のgitチェックアウト?
- 23. 複数の列HTMLテーブル単一の列のテキストファイルからPHP
- 24. 単一のウェブサイトの複数のページからデータをインポートする
- 25. 単一のキネシスストリームからレッドシフトの複数のテーブルにデータをストリーミング
- 26. 単一のSpring MVCコントローラからの複数の戻り型
- 27. MVCコントローラの複数のアクションから単一のメソッドを実行
- 28. 単一のprintlnからの複数のログステートメント
- 29. C++ WxWidgets:複数のスレッドからのメッセージの単一ログウィンドウ
- 30. 単一のテーブルからの複数の参照
http://stackoverflow.com/questions/1878807/visual-studio-2008-creating-single-dll-from-solution-with-many-projects –