1

最近、.Net4.5 用にビルドすることを目的としたライブラリを公開しました。Windows 8 がリリースされたので、基本的にはそのプラットフォーム用にもビルドしたいと考えています。

残念ながら、元のライブラリで使用したコードの一部は RT コアに組み込まれませんでしたが、今日はコードのコピーを使用して調整とテストを行うことにほとんどの時間を費やしました。

基本的に、元のファイルと、約 5 行が更新され、別の名前空間を使用するコピーの 2 つのコード ファイルを取得しました。Debug/Release の条件付きコンパイルは行ったことがありますが、バッチ コンパイルは行ったことがありません。

私の理想的な目標は、おそらくコンパイラ フラグと を使用してこれらのファイルを結合し#if、コードをより管理しやすくすることです。次に、Library.WinRT.dll と Library.x86.dll にコンパイルします。ファイルをシンボリックにリンクする2つの異なるプロジェクトを持つことは気にしませんが、重複したコードは本当に望んでいません。

これを行う方法について何か提案はありますか? 共有したい経験がある人はいますか?

4

1 に答える 1

1

あなたはあなた自身の質問に答えたと思います。コンパイラ フラグを使用し、プロジェクト間でファイルにリンクします (ファイル システムのシンボリック リンクを使用するのではなく、既存のファイルを 1 つのプロジェクトから別のプロジェクトにリンクとして追加します - ファイルを開くダイアログの [追加] ボタンの横にあるドロップダウンを使用します)。バッチコンパイルとはどういう意味ですか? コマンドラインからビルドしますか? 次に、次のようなことができます。

msbuild /verbosity:quiet /fl /t:Rebuild /p:Configuration=Release Library.WinRT\Library.WinRT.csproj
msbuild /verbosity:quiet /fl /t:Rebuild /p:Configuration=Release Library.NET45\Library.NET45.csproj
于 2013-01-12T20:18:57.467 に答える