【问题标题】:msbuild error: The property DirectoryName does not exist or was not foundmsbuild 错误:属性 DirectoryName 不存在或未找到
【发布时间】:2015-11-25 18:51:06
【问题描述】:

这是我第一次尝试在 Visual Studio Online 上配置自动构建。

创建新版本后,我将其排入运行队列。第一步已成功完成(获取源)。现在我在构建步骤中遇到错误。这是一个包含消息的小 sn-p:

782 2015-08-31T16:30:52.4324803Z 执行 powershell 脚本: C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\tasks\VSBuild\1.0.13\VSBuild.ps1

783 2015-08-31T16:30:54.0509690Z ##[错误]属性 DirectoryName 不存在或找不到。

784 2015-08-31T16:30:54.1321607Z C:\Program 文件 (x86)\MSBuild\14.0\bin\msbuild.exe "C:\a\5bc0b6a3\MySolution" /nologo /m /nr:false /fl /flp:"logfile=C:\a\5bc0b6a3\MySolution.log" /dl:CentralLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\LR\MMS\Services\ Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:platform="任何cpu" /p:configuration="debug" /p:VisualStudioVersion="14.0"

785 2015-08-31T16:30:54.2859104Z MSBUILD:错误 MSB1009:项目 文件不存在。

我在整个解决方案中搜索了 DirectoryName 字符串,但没有成功,现在知道它的含义。

编译在我的 PC 上运行良好,但我不知道从哪里开始。

有什么想法吗?

【问题讨论】:

    标签: visual-studio tfs msbuild continuous-integration visual-studio-2015


    【解决方案1】:

    你错过了真正的错误:

    785 2015-08-31T16:30:54.2859104Z MSBUILD : error MSB1009: Project file does not exist.
    

    您需要指定解决方案文件的路径。你可以看到你不是:

    C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe "C:\a\5bc0b6a3\MySolution" /nologo /m /nr:false /fl /flp:"日志文件=C:\a\5bc0b6a3\MySolution.log" /dl:CentralLogger,"C:\LR\MMS\Services\Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll"*ForwardingLogger,"C:\LR\MMS\Services\ Mms\TaskAgentProvisioner\Tools\agent\worker\Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll" /p:platform="任何cpu" /p:configuration="debug" /p:VisualStudioVersion="14.0"

    您只需为“解决方案”参数指定**\*.sln,它就会发现并构建您映射的工作区中的所有解决方案。如果您需要更具体,您也可以这样做。

    【讨论】:

    • 我试图只指定一个项目 (.csproject),因为我的解决方案有几个,我不想编译所有这些。但似乎这是获得整个解决方案以避免额外配置的常用方法。此外,当没有指定解决方案时,似乎 nugget 下载包有一些问题。当我开始我的自动构建时,我决定按照您的建议改回 ***.sln。谢谢。
    • 旁注 - 新 VSO 构建管道中的 nuget 恢复解决方案中所有项目的包,只需将其配置为单独的预构建步骤,而不是解决方案中的“在构建时启用 nuget 恢复”选项。此外,我在那里构建单独的项目或自定义构建脚本也没有问题。在这种情况下,只有一件事可能出错 - 平台和配置属性通常需要明确指定。
    【解决方案2】:

    解决方案文件所在的文件夹应位于或低于“存储库”选项卡下映射中定义的路径之一,否则也会显示“项目文件不存在”错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-17
      • 2020-07-06
      • 2022-07-19
      • 2015-03-26
      • 2019-02-06
      • 2019-03-08
      相关资源
      最近更新 更多