Azure DevOps 构建 XAML 文件失败

问题描述 投票:0回答:1

我有一个用于正确构建的新类库项目的 Azure DevOps 版本(.NET Framework 4.6.2)。

我通过 Visual Studio 从另一个项目添加了一些 XAML 文件,它显示错误“InitializeComponent 在当前上下文中不存在”。我发现,如果我将 XAML 文件属性“构建操作”更改为“页面”,则可以解决 Visual Studio 中的问题并且构建得很好(此设置位于原始文件上,但当您将文件复制到新项目时会丢失)。

现在的问题是我在 DotNet Build 上的 DevOps 构建中遇到了相同的错误。

构建包含 XAML 文件的项目时是否需要其他步骤?或者将 XAML 文件添加到类库时是否存在任何问题?

c# azure devops pipeline
1个回答
0
投票

您可以尝试在 csproj 文件中添加以下行:

    <UseWPF>true</UseWPF>

此行指示构建系统合并 WPF 目标,这是创建 XAML 文件所必需的。

我已经成功构建了XAML WPF应用程序,请参阅以下内容:-

我的 yaml 代码,用于使用

dotnet build
构建 XAML WPF 应用程序:-

trigger:
- main

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: UseDotNet@2
  inputs:
    packageType: 'sdk'
    version: '3.x'
- task: DotNetCoreCLI@2
  inputs:
    command: 'build'
    projects: '$(solution)'
    arguments: '--configuration $(buildConfiguration)'

输出:-

enter image description here

另外,作为替代方案,尝试使用 VsBuild 来代替 dotnetbuild 来构建管道,如下所示:-

trigger:
- master

pool:
  vmImage: 'windows-latest'

variables:
  solution: '**/*.sln'
  buildPlatform: 'Any CPU'
  buildConfiguration: 'Release'

steps:
- task: NuGetToolInstaller@1

- task: NuGetCommand@2
  inputs:
    restoreSolution: '$(solution)'

- task: VSBuild@1
  inputs:
    solution: '$(solution)'
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

- task: VSTest@2
  inputs:
    platform: '$(buildPlatform)'
    configuration: '$(buildConfiguration)'

输出:-

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.