Xamarin "GenerateResourceDesigner" 任务意外失败,找不到 .dll 文件

Xamarin "GenerateResourceDesigner" task failed unexpectedly and .dll file could not be found

嗨,我是 运行 一个正在部署到所有平台的 Xamarin PCL 项目,包括 UWP windows 10 和 windows 8。

我刚刚在 git 上合并了一个分支并解决了一些冲突(不是很清楚),我遇到了一些错误。

第一个错误:

The "GenerateResourceDesigner" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load assembly 'Vigour, Version=, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'Vigour.dll'
   at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
   at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters parameters)
   at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve(String fullName)
   at Xamarin.Android.Tuner.DirectoryAssemblyResolver.GetAssembly(String fileName)
   at Xamarin.Android.Tasks.GenerateResourceDesigner.<Execute>c__AnonStorey0.<>m__0(String ass)
   at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
   at Xamarin.Android.Tasks.ResourceDesignerImportGenerator.CreateImportMethods(IEnumerable`1 libraries)
   at Xamarin.Android.Tasks.GenerateResourceDesigner.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() Vigour.Droid            

第二个:

我知道这是一个 common problem 我已经尝试在解决方案配置中取消勾选每个项目的构建。

我也试过删除 .vs/../.suo 文件来重置项目

但是我没有运气。我认为这可能与涉及更改 .csproj 文件的合并有关。

解决方案是为 android 重新安装 xamarin 表单,正如@hvaughan3 所说,删除所有目录的 bin 和 obj 文件夹以及包。

尝试将 API 设置为 23,然后重新生成项目,它将解决问题

在我的例子中,我遇到了错误 "ResolveLibraryProjectImports" 任务意外失败。当我在 Windows 10 打开从 Xamarin.University 下载的项目时,其中一个文件的路径最终变得很长(超过 260 个字符)。因此,为了解决我的问题,我会将目录复制得尽可能浅,而不是直接在下载项目的结构中工作,而是将包含该项目的最深目录复制到我的 C: 中。由于项目中所有文件的路径都缩短了,因此构建将毫无问题地进行。

所以,假设我从 Xamarin.University 下载的结构类似于 C:\Users\me\Desktop\XAMARIN\XAMARINCERTIFICATION\forms\xam300-advanced-cross-platform-development\LabMaterials\Part03Resources\Completed

我会将 Completed 文件夹复制到 C 并以更短的路径结束,例如: C:\已完成