【问题标题】:What's the grammar for AzureDevOps `dotnet build` project path?How do I add more than one project for `dotnet build` project path?AzureDevOps `dotnet build` 项目路径的语法是什么?如何为 `dotnet build` 项目路径添加多个项目?
【发布时间】:2019-10-28 17:53:55
【问题描述】:

作为标题,我们常用**/*.csproj作为dotnet build项目路径,效果很好。 但是我们最近添加了一个 dotnet 框架项目,当我们在 *nix 构建代理上运行我们的构建时,我们想排除 dotnet 框架项目或仅包含 dotnet 核心项目,但是当我尝试像 dotnet pack 那样更新项目路径时,我遇到以下错误:

Project file(s) matching the specified pattern were not found.

但是我定义的项目路径适用于dotnet pack 项目路径,我很困惑。希望有人能帮忙。

我使用的项目路径:

Business/*.csproj;Models/*.csproj;
**/*.csproj;-FxModels/*.csproj;

来自https://github.com/MicrosoftDocs/vsts-docs/issues/3981的问题

【问题讨论】:

    标签: azure-devops


    【解决方案1】:

    AzureDevOps dotnet build 项目路径的语法是什么?

    AzureDevOps dotnet build 项目路径没有特殊语法,它只是使用相对路径通配符

    当我们使用任务dotnet build 构建项目时,我们总是使用语法**/*.csproj 将所有项目包含在repos 的指定分支中。当然,我们也可以使用完整路径来指定一个项目。例如:

    在管道的get source任务中,我们设置了reposbranch

    然后,去repos获取.net core项目的相对路径:

    所以,.net core项目的相对路径是/NetCoreLibDemo/NetCoreLibDemo/NetCoreLibDemo.csproj,如果你只想构建.net核心项目:

    如何为dotnet build项目路径添加多个项目?

    您可以使用**/*.csproj 或指定.sln 文件为dotnet build 项目路径指定多个项目。

    然而,我已经指出,如果您将任务 dotnet pack 而不是 dotnet build 用于多个项目,您可以通过以 -: 为前缀,例如:

    它在我这边工作正常,你可以检查它是否适合你。

    更新:

    如上所述,dotnet pack 项目语法不适用于 dotnet build,所以想要一个 dotnet build 的语法,这就是重点 问题

    dotnet pack 指定语法 -:。你可以从选项的状态中得到它:

    所以,就像我上面指出的那样,如果您想通过使用**/*.csproj 或指定.sln 文件为dotnet build 项目路径指定多个项目。

    希望这会有所帮助。

    【讨论】:

    • 对我来说没多大用处,你上面提到的一切我都试过了,dotnet pack grammer 与 dotnet build 不同,**/*.csproj 有时不适用
    • @WeihanLi,感谢您的回复。我已经测试了前缀 ;-: 并且它在我这边与 dotnet pack 任务一起工作得很好。如果它不起作用,您能否将要打包的 csproj 或 nuspec 文件的路径分享给我,顺便说一句,不要使用 **/*.csproj,尝试使用 ProjectA/NetCoreLibDemo/*.csproj;-:ProjectB/ProjectA/*.csproj
    • 它适用于dotnet pack,但我要求dotnet build 任务的语法不是dotnet pack...,正如我上面提到的,dotnet pack 项目语法不适用于@ 987654361@,所以想要dotnet build 的语法,这就是问题的重点
    • @WeihanLi,知道了。实际上,语法 -: 仅指定用于 dotnet 包。如果您想通过使用**/*.csproj 或指定.sln 文件为dotnet 构建项目路径指定多个项目,请查看我更新的答案以获取更多详细信息。
    • 是的,**/*.csproj 在大多数情况下都有效,而有时**/*.csproj 可能包含一些我不想构建的项目,在这种情况下,不能使用**/*.csproj*.sln。我认为我使用的方法(cake)与 azure devops 无关,所以我不认为这是解决问题的推荐答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-08
    • 1970-01-01
    • 2023-04-09
    • 2020-04-22
    • 2012-04-29
    • 1970-01-01
    • 2014-05-21
    相关资源
    最近更新 更多