MSBuild:Wix项目中的ProjectReference输出路径

时间:2016-05-12 11:48:19

标签: msbuild wix msbuild-task


我正在尝试使用MsBuild任务在我的Wix Visual Studio项目中获取引用项目的Output文件夹。但它失败了以下错误:

  

C:\ Program Files   (86)\的MSBuild \ 14.0 \ BIN \ Microsoft.Common.CurrentVersion.targets(724,5):   错误:未为项目设置OutputPath属性   'ConsoleApplicatio n1.csproj'。请检查以确保您   已指定Configuration和Platform的有效组合   这个项目。 Configuration ='Release'Platfo rm ='x86'。你可能   看到这条消息,因为你正试图建立一个没有的项目   解决方案文件,并指定了非默认配置或   此项目不存在的平台表单。   [C:\ Users \ fwaheed \ Documents \ Visual Studio   2015年\项目\ 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 Projects中获取ReferencedProjects输出dirs吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以尝试查看Wix如何将参考值传递给构建时的蜡烛。它们位于wix2010.targets或wix200x.targets文件中。不幸的是,我没有时间真正深入研究这些东西,但这些任务设置的属性应该仍然存在,以便在AfterBuild目标中使用。

只需搜索&#34; ResolveReferences&#34;在其中一个目标文件中。

您也可以尝试设置

<OutputPath>somepathhere</OutputPath>

在你的csproj文件中,因为msbuild抱怨该属性没有设置。