2016-05-12 1 views
0


MsBuildタスクを使用して、Wix Visual Studioプロジェクトで参照プロジェクトのOutputフォルダを取得しようとしています。しかし、それは次のエラーで失敗している:
MSBuild:WixプロジェクトのProjectReference出力パス

C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(724,5): error : The OutputPath property is not set for project 'ConsoleApplicatio n1.csproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Release' Platfo rm='x86'. You may be seeing this message because you are trying to build a project without a solution file, and have specified a non-default Configuration or Plat form that doesn't exist for this project. [C:\Users\fwaheed\Documents\Visual Studio 2015\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.cspro j]

続いてのMSBuildタスクを呼び出すターゲットです。

<Target Name="AfterBuild"> 
     <MSBuild 
      Projects="@(ProjectReference)" 
      Targets="GetTargetPath" 
      BuildInParallel="false" 
      Condition="'%(Name)'=='ConsoleApplication1'" > 
     <Output TaskParameter="TargetOutputs" ItemName="DependentAssemblies" /> 
    </MSBuild> 
    </Target> 

CSharpプロジェクトであれば同じターゲットが完全に機能するが、Wixプロジェクトでは失敗することに注意してください。

誰かがWixプロジェクトでReferencedProjects出力ディレクトリを取得する方法を指導できますか?

おかげ

答えて

1

あなたはWixは、ビルドにろうそくに基準値を渡すためにそれをしない方法を確認しようとすることができます。それらはwix2010.targetsまたはwix200x.targetsファイルにあります。残念ながら、私はこのようなものを実際に掘り下げる時間はありませんが、これらのタスクが設定されているプロパティは、あなたのAfterBuildターゲットで使用するために存在するはずです。

これらのターゲットファイルのいずれかで「ResolveReferences」を検索するだけです。

また、単にMSBuildのは、プロパティが設定されていないことを不平を言っているので、あなたのcsprojファイルで

<OutputPath>somepathhere</OutputPath> 

を設定してみてくださいすることができます。

+0

ブライアンに感謝します。それは非常に有益です。しかし、私はまだx86または任意のCPUタイプの問題で私の解決策に苦しんでいます...内部MSBuildタスクのように見える何とかそれを好きではない。 –

関連する問題