MSBuild WPF项目在WixProject中失败
我需要在wixproj中运行MSBuild任务,例如MSBuild WPF项目在WixProject中失败,msbuild,wix,Msbuild,Wix,我需要在wixproj中运行MSBuild任务,例如 <!-- a.wixproj is calling msbuild on a.csproj --> <?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="4.0" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- a.wixproj is calling msbuild on a.csproj -->
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="Default">
<MSBuild Projects="..\A\a.csproj" Targets="Publish" />
</Target>
</Project>
而它使用wix项目文件夹中的msbuild.exe a.wixproj在命令行中生成OK。解决方案可能是
Solution A
--CSProject A (**a WPF project**)
----a.csproj
--WixProject A
----a.wixproj
我测试发现,只有当CSProject是WPF项目,而WixProject没有向CSProject添加引用时,才会发生这种情况。当,
- CSProject是一个控制台项目
- CSProject是一个WPF项目,由WixProject引用
- CSProject是一个WPF项目,未被WixProject引用,但已在VS explorer中卸载
MSBuildProjectDirectory
作为参考目录:
<MSBuild Projects="$(MSBuildProjectDirectory)\..\A\a.csproj" Targets="Publish" />
在各种情况下(wix与命令行msbuild)的工作目录是什么?从wix运行时,您确定当前目录是您期望的吗?请尝试添加显式的OutDir
:Properties=“OutDir=$(WixProjectFolder)\bin\$(配置)
<MSBuild Projects="$(MSBuildProjectDirectory)\..\A\a.csproj" Targets="Publish" />