我正在尝试使用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吗?
由于
答案 0 :(得分:1)
您可以尝试查看Wix如何将参考值传递给构建时的蜡烛。它们位于wix2010.targets或wix200x.targets文件中。不幸的是,我没有时间真正深入研究这些东西,但这些任务设置的属性应该仍然存在,以便在AfterBuild目标中使用。
只需搜索&#34; ResolveReferences&#34;在其中一个目标文件中。
您也可以尝试设置
<OutputPath>somepathhere</OutputPath>
在你的csproj文件中,因为msbuild抱怨该属性没有设置。