Я хочу сказать Azure запускать тесты на платформе и платформе, фактически используемых моим тестовым проектом. Согласно Microsoft ,
Тесты, предназначенные для базовой платформы. NET, можно выполнить, указав соответствующее целевое значение инфраструктуры.
Но как я это сделал?
Кроме того, в выводе журнала говорится, что существует проблема с разными платформами. Я не уверен, как решить это либо. Я попытался вставить платформу в свой yml, но это не помогает.
Вот мой текущий yml:
- job: Test
dependsOn: SetBuildName
pool:
vmImage: 'windows-2019'
variables:
solution: '**/MyTestSolution.sln'
buildPlatform: 'x86|x64|ARM'
buildConfiguration: 'Release'
appxStagingDir: '$(build.artifactStagingDirectory)\AppxPackages\\'
steps:
- task: NuGetToolInstaller@1
inputs:
versionSpec: '5.4.0'
- task: NuGetCommand@2
inputs:
restoreSolution: '$(solution)'
- task: VersionAPPX@2
inputs:
Path: '$(Build.SourcesDirectory)'
VersionNumber: '$(versionNumber)'
InjectVersion: true
OutputVersion: 'OutputedVersion'
- task: VSBuild@1
inputs:
platform: 'x86' #Changing this to AnyCPU had no effect.
solution: '$(solution)'
configuration: '$(buildConfiguration)'
msbuildArgs: '/t:Restore'
- task: VSBuild@1
inputs:
platform: 'x86'
solution: '$(solution)'
configuration: '$(buildConfiguration)'
msbuildArgs: '/p:AppxBundlePlatforms="$(buildPlatform)"
/p:AppxPackageDir="$(appxStagingDir)"
/p:AppxBundle=Always
/p:UapAppxPackageBuildMode=Sideload
/p:AppxPackageSigningEnabled=true
/p:VersionPrefix="$(versionNumber)"
/p:VersionSuffix="$(version.SpecialBuild)"
/p:SourceRevisionId="$(Build.SourceVersion)"'
А вот выдержка из журнала:
2020-03-19T12:28:57.5842598Z Test run will use DLL(s) built for framework .NETFramework,Version=v4.0 and platform X86. Following DLL(s) do not match framework/platform settings.
2020-03-19T12:28:57.5843802Z MyProject.Test.dll is built for Framework .NETCoreApp,Version=v3.1 and Platform AnyCPU.
Лучшим решением было бы заставить его использовать то, против чего построен проект. Но если это невозможно, я бы предпочел указать NETCoreApp 3.1 и AnyCPU.