Visual Studio Team Services构建无法找到库

时间:2017-06-07 22:18:55

标签: tfs build msbuild continuous-integration azure-devops

我正在尝试使用Team Services CI Build,但它仍然出现相同的错误:

##[error]MobileClient\LoginNavigation\CommentPage.xaml.cs(1,7): Error CS0246: The type or namespace name 'Android' could not be found (are you missing a using directive or an assembly reference?)

这似乎是正确的,因为在上一步中它抱怨没有找到该库:

##[warning]C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(1820,5): Warning MSB3245: Could not resolve this reference. Could not locate the assembly "Mono.Android". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

此外,还会记录构建搜索它的位置:

For SearchPath "{HintPathFromItem}".
Considered "..\..\..\..\..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\MonoAndroid\v6.0\Mono.Android.dll", but it d  idn't exist.For SearchPath "{TargetFrameworkDirectory}".
For SearchPath "{TargetFrameworkDirectory}".
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile259\Mono.Android.winmd", but  it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile259\Mono.Android.dll", but it didn't exist.
Considered "C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETPortable\v4.5\Profile\Profile259\Mono.Android.exe", but it didn't exist.
For SearchPath "{RawFileName}".
Considered treating "Mono.Android" as a file name, but it didn't exist.

据我了解,Team Services构建服务器中缺少此文件,对吧?我该怎么解决这个问题?是否有必要更改此目录?

一个重要的事情是,在我的机器中本地,Visual Studio和命令行MSBuild正常工作。

在Visual Studio Build步骤中会发生这种情况,该步骤具有以下配置:

  • MSBuild配置:MSBuild x86
  • Visual Studio版本:Visual Studio 2015
  • MSBuild参数:/ p:DeployOnBuild = true / p:WebPublishMethod = Package
  • / p:PackageAsSingleFile = true / p:SkipInvalidConfigurations = true
  • / P:PackageLocation = “$(build.artifactstagingdirectory)\”
  • Visual Studio Build Solution步骤版本:1。*

以下是团队服务构建的步骤:enter image description here

1 个答案:

答案 0 :(得分:1)

好的,在阅读了我收到的答案和建议之后,我得到了一些暗示我必须做些什么来解决这个问题。基本上,我犯了两个错误:

首先,在失败的项目中,我将Mono.Android引用更改为项目文件夹中的一个。即使该错误消失了,我仍然有越来越多的与Xamarin和Android相关的错误。

所以当我在这个帖子中跟随另一个建议时:使用Xamarin.Android模板。问题是,在这个项目中我有一个.sln文件,它包含不同类型的项目,包括Xamarin项目,Web Api和一些类库。我试图在同一个Team Services构建定义中构建它们,但我意识到根据不同类型的项目定义不同的定义要高效得多。

结果,我最终得到了Xamarin项目的构建定义,使用了Xamarin.Android模板,另一个用于我用Web Api项目使用的所有项目创建的.sln文件。错误的数量急剧减少,我觉得我并没有和潮水一起游泳。了。

我建议每个人都有一个具有各种项目类型的解决方案来做同样的事情。