MSBuild错误:MSBUILD:错误MSB1009:项目文件不存在

时间:2017-02-17 19:02:49

标签: visual-studio-2015 msbuild wix

我是MSBuild环境的新手,在尝试构建我正在处理的应用程序之一时,我正在遵循一些指示。按照应用程序文档中的说明,我能够构建如下所示的命令:

msbuild /t:Harvest;WIX setup.build;  /P:publish_location="C:\Installer";product_file="C:\Temp\ServiceHost.dll";product_id="1.0"

但是当我运行命令时,它会抛出以下错误:

  

MSBUILD:错误MSB1009:项目文件不存在。

提出了很多问题:

  1. 这里没有名为Project的参数。我不确定为什么它失败了这个特定的参数?
  2. " / t:收获; WIX"意思?
  3. 通常msbuild命令引用.sln或.csproj文件,但我所指的文档特别要我引用.Dll文件,所以我做了。我这样做是对的吗?
  4. 如何解决此错误?
  5. 以下仅供参考:我所指的文档:

      

    此解决方案仅包含安装程序。为了创造一个   MSI手动提供此解决方案,您需要打造一个视觉工作室   命令提示符,导航到安装程序的setup.build位置   项目并键入以下命令:(发布位置为   由当前发布​​位置替换,product_id替换为   当前的product_id和product_file是您要提取的文件   版本来自)msbuild / t:Harvest; WIX setup.build   / P:publish_location ="位置&#34 ;; product_file =" Matchbox.Management.ServiceHost.dll&#34 ;; PRODUCT_ID =" XXXXXXXXXXXX"

1 个答案:

答案 0 :(得分:2)

来自MSBuild Command Line Reference

MSBuild.exe [Switches] [ProjectFile]

所以setup.build是您的项目文件(似乎无法找到)。

  

/target:targets

     

在此项目中构建这些目标。使用分号或逗号分隔多个目标,或单独指定每个目标。 /t也可以接受。

所以

/t:Harvest;WIX

表示您正在构建应在项目文件中定义的目标HarvestWIX

  

/property:name=value

     

设置或覆盖这些项目级属性,其中name是属性名称,value是属性值。使用分号或逗号分隔多个属性,或单独指定每个属性。 /p也可以接受。

所以

/P:publish_location="C:\Installer";product_file="C:\Temp\ServiceHost.dll";product_id="1.0"

只是定义了三个属性,可以在MsBuild项目中用于任何目的。所以我们无法判断你这样做是否正确。但它似乎是根据您的文档。