gpt4 book ai didi

azure - 如何在Azure DevOps中编译.NET(控制台应用程序)并生成exe

转载 作者:行者123 更新时间:2023-12-02 05:53:56 26 4
gpt4 key购买 nike

我使用 .NET 桌面模板并使用“create .msi”扩展创建了一个管道,但它显示了一条警告:

 ##[warning]No .MSI files were found, please check your build-configuration. If this is expected, you might consider to use the default Visual Studio Build task instead of this custom Installer task.
2018-11-28T22:58:54.1434410Z ##[section]Finishing: Create .msi file(s) from VS Installer project(s).

任何人都知道如何使用 Azure Pipeline 创建 exe 文件并将其部署在虚拟机上。

最佳答案

If you use .NET Core CLI task to build your console app.

下面的 dotnetpublisharguments 命令将生成 .exe 文件。请参阅this thread了解更多信息。

dotnet publish -r win-x64 -p:PublishSingleFile=True --self-contained false

因此,您可以将上述参数添加到 .NET Core CLI 任务中。请参阅下面的 yaml 管道。

- task: DotNetCoreCLI@2
inputs:
command: publish
arguments: -r win-x64 -p:PublishSingleFile=True --self-contained false -o $(Build.ArtifactStagingDirectory)
projects: '**/*.csproj'
publishWebProjects: false
enabled: true

上述DotNetCoreCLI任务将把.exe文件输出到文件夹$(Build.ArtifactStagingDirectory) (即 C:\agent\_work\1\a )

If you use Visual Studio Build task to build your console app.

您可以先在下面添加<PublishSingleFile><RuntimeIdentifier>属性添加到项目的 .csproj 文件中。

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishSingleFile>True</PublishSingleFile>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>

然后在管道中设置 Visual Studio 生成任务的 msbuildArgs,如下所示:

- task: VSBuild@1
inputs:
solution: '$(solution)'
platform: '$(buildPlatform)'
configuration: '$(buildConfiguration)'
msbuildArgs: '/t:publish /p:PublishSingleFile=True /p:RuntimeIdentifier=win-x64 /p:outputpath=$(Build.ArtifactStagingDirectory)\'

然后Vsbuild任务会将.exe文件输出到文件夹$(Build.ArtifactStagingDirectory) /p:outputpath 中指定(即 C:\agent\_work\1\a )

关于azure - 如何在Azure DevOps中编译.NET(控制台应用程序)并生成exe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62318189/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com