我有一个用于正确构建的新类库项目的 Azure DevOps 版本(.NET Framework 4.6.2)。
我通过 Visual Studio 从另一个项目添加了一些 XAML 文件,它显示错误“InitializeComponent 在当前上下文中不存在”。我发现,如果我将 XAML 文件属性“构建操作”更改为“页面”,则可以解决 Visual Studio 中的问题并且构建得很好(此设置位于原始文件上,但当您将文件复制到新项目时会丢失)。
现在的问题是我在 DotNet Build 上的 DevOps 构建中遇到了相同的错误。
构建包含 XAML 文件的项目时是否需要其他步骤?或者将 XAML 文件添加到类库时是否存在任何问题?
您可以尝试在 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)'
输出:-
另外,作为替代方案,尝试使用 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)'
输出:-