1

ソリューション構成で「ビルドしない」に設定されているソリューションに Web プロジェクトを配置したいのですが、プロジェクトの参照 (およびその依存関係) をそのプロジェクトの bin フォルダーにコピーしたいと考えています。sln には実際にビルドされたクラス ライブラリ プロジェクトがあり、Web プロジェクトはそれらを参照しています。現在の「ビルド」は、まさにこれ

を行う devenv を呼び出すだけです。明らかな理由から、MSBuild を使用したいと思います。 私は違います

手動でファイルをコピーする方法を探しています (個別または *.dll)。これを行うには多くの方法があります。特に、devenv.exe が提供する動作を複製する方法を探しています。ソリューション ファイル (以下) のプロジェクト セクションにあるものに基づいて、参照 (およびその依存関係) を自動的にコピーします。

これらの参照は、このセクションのソリューションからのものです。

Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}")="TheWebProjectName", 
                                                  "Web\Project\Folder", 
                                                  "{1CBD1906-0C2E-4C92-A81D-63C2AD816EA1}"
    ProjectSection(WebsiteProperties) = preProject
        TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0"
        ProjectReferences = "{B125568E-E80C-4080-B8D3-5602B604734C}|Some.Reference.dll;
                             {117E8B0A-F0D6-47D0-BB51-71099969566D}|Some.OtherRef.dll;"
        ...
    EndProjectSection
EndProject
4

4 に答える 4

2

MSBuildは、ターゲットファイルを使用してビルドステップを決定します。関連するターゲットファイルを確認し、MSBuildがそれらのファイルをコピーする方法を決定し、独自のターゲットファイルを作成し、新しいターゲットを使用するようにビルド構成を変更します。

関連するターゲットファイル:

  • 場所:C:\ Windows \ Microsoft.NET \ Framework \ v $(バージョン)
  • Microsoft.CSharp.targets
  • Microsoft.Common.targets

関連ドキュメント:

于 2012-04-20T14:07:46.040 に答える
1

MSBuild タスクを使用して、このようなビルド操作を実行できます: http://msdn.microsoft.com/en-us/library/ms171466(v=vs.80).aspx

特定のケースでは、組み込みのCopy Taskに興味があるでしょう: http://msdn.microsoft.com/en-us/library/3e54c37h(v=vs.80).aspx

于 2012-04-13T17:00:00.770 に答える
-1

古いバージョンの MSBuild は BizTalk プロジェクト ファイルをサポートしていないため、Exec タスクを使用して devenv.exe を呼び出します。

于 2012-04-17T16:06:21.063 に答える
-1

msbuild の代わりに powershell を使用してみてください!! Ria サービスは、powershell コマンドレットにも強く依存しています。

乾杯..

于 2012-04-16T20:42:31.913 に答える