我正在 Azure DevOps Pipeline 中开发 ASP.NET Core 8 Web API 项目。该项目包括一个 COMReference (Concerto4xSecurity),它是构建和运行时所需的 .Net 框架库。但是,我在尝试构建项目时遇到以下错误:
错误 MSB4803:任务“ResolveComReference”不受支持 MSBuild 的 .NET Core 版本。
我的项目需要使用 COMReference (Concerto4xSecurity) 进行构建,而不是排除它。
我尝试过以下方法:
尽管进行了这些尝试,我在构建管道期间仍然遇到相同的错误
是否有推荐的方法在 Azure DevOps Pipeline 中使用 COMReference 构建 .NET Core 8 Web API 项目
我的解决方案(对于使用 Concerto4xSecurity COM DLL 的 .net6 项目)是使用 MSBuild@1 任务
https://learn.microsoft.com/en-us/azure/devops/pipelines/tasks/reference/msbuild-v1
pool:
vmImage: 'windows-2022'
steps:
- task: PowerShell@2
displayName: 'Register Concerto4xSecurity COM DLL'
inputs:
targetType: 'inline'
script: |
regsvr32.exe /s $(System.DefaultWorkingDirectory)\**\Concerto4xSecurity.dll
- task: MSBuild@1
displayName: 'Build the solution'
inputs:
solution: '*.sln'
msbuildVersion: '17.0'
logProjectEvents: true
configuration: 'Release'
msbuildArguments: '/p:DeployOnBuild=true /p:DeployDefaultTarget=WebPublish /p:WebPublishMethod=FileSystem /p:DeleteExistingFiles=True /p:publishUrl="$(System.DefaultWorkingDirectory)/out"'
您需要使用 msbuildVersion 17.8 或更高版本 (https://learn.microsoft.com/en-us/dotnet/core/compatibility/sdk/8.0/version-requirements)