Xamarin.forms VSTS、Xamarin表单、网络标准、Android:project.assets.json在我调用restore时未找到
我正在vsts上构建一个Xamarin.forms VSTS、Xamarin表单、网络标准、Android:project.assets.json在我调用restore时未找到,xamarin.forms,azure-devops,.net-standard,Xamarin.forms,Azure Devops,.net Standard,我正在vsts上构建一个Xamarin表单app(通过yml)。 iOS和Android的步骤几乎相同。 整个解决方案在我的机器上构建良好,iOS阶段在VST上构建良好 但是,在Android阶段中,我在解决方案的msbuild上遇到了一个错误。 错误是: [错误]C:\Program Files\dotnet\sdk\2.1.104\sdk\Microsoft.NET.sdk\build\Microsoft.PackageDependencyResolution.targets(327,5):
Xamarin表单app(通过yml)。
iOS和Android的步骤几乎相同。
整个解决方案在我的机器上构建良好,iOS阶段在VST上构建良好
但是,在Android阶段中,我在解决方案的msbuild上遇到了一个错误。
错误是:
[错误]C:\Program Files\dotnet\sdk\2.1.104\sdk\Microsoft.NET.sdk\build\Microsoft.PackageDependencyResolution.targets(327,5):
错误:资产文件'D:\a\1\s\MyApp.Controls\obj\project.Assets.json'
没有找到。运行NuGet包还原以生成此文件
我知道我首先必须运行dotnetrestore
来生成project.assets.json
文件,我就是这么做的。以下是我相应的yml任务:
- task: NuGetToolInstaller@0
displayName: 'Dot Net Restore'
condition: succeeded()
inputs:
command: restore
projects: |
MyApp.*/*.csproj
Platforms/MyApp.Android/*.csproj
Platforms/MyApp.Controls.Android/*.csproj
- task: XamarinAndroid@1
displayName: 'Building Android'
inputs:
solutionFile: '**/*.sln'
configuration: 'Release'
buildToolOption: msbuild
请注意,MyApp.Controls.Android
引用了MyApp.Controls
(这是一个.Net标准库),这就是发生错误的项目。在yml文件中定义的NuGet restore任务不正确,您应该使用该任务NuGetCommand@2
用于NuGet还原
下面是YAML生成文件的示例:
steps:
- task: NuGetToolInstaller@0
inputs:
versionSpec: 4.4.1
- task: NuGetCommand@2
inputs:
restoreSolution: '**/*.sln'
- task: VSBuild@1
displayName: 'Building Android'
inputs:
solution: '**/*.sln'
vsVersion: 15.0
configuration: '$(BuildConfiguration)'
logProjectEvents: false