将软件包“Xamarin.Forms”和“Xamarin.Forms.Maps”更新到最新版本,即“3.0.0.446417”后,项目将不再构建,我收到此错误:
C:\Users\[MyUser]\.nuget\packages\xamarin.forms\3.0.0.446417\build\netstandard2.0\Xamarin.Forms.targets(35,3):
error MSB4062: The "Xamarin.Forms.Build.Tasks.GetTasksAbi" task could not be loaded from the assembly
C:\Users\[MyUser]\.nuget\packages\xamarin.forms\3.0.0.446417\build\netstandard2.0\Xamarin.Forms.Build.Tasks.dll.
Could not load file or assembly 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' or one of its dependencies.
The system cannot find the file specified. Confirm that the <UsingTask> declaration is correct, that the assembly and all its dependencies are available, and that the task contains a public class that implements Microsoft.Build.Framework.ITask.
错误是指文件的这个位置 Xamarin.Forms.Targets :
<XamlGTask
XamlFiles="@(EmbeddedResource)" Condition="'%(Extension)' == '.xaml' AND '$(DefaultLanguageSourceExtension)' == '.cs'"
Language = "$(Language)"
AssemblyName = "$(AssemblyName)"
OutputPath = "$(IntermediateOutputPath)">
<Output ItemName="FilesWrite" TaskParameter="GeneratedCodeFiles" />
<Output ItemName="Compile" TaskParameter="GeneratedCodeFiles" />
</XamlGTask>
XamlGTask的下划线标有警告:
Task 'XamlGTask' is not defined
到目前为止我所做的是清理整个解决方案,删除obj / bin文件夹以及从Package Manager设置中清除所有Nuget缓存,但它们都没有帮助。
答案 0 :(得分:10)
错误MSB4062:无法从程序集加载“Xamarin.Forms.Build.Tasks.GetTasksAbi”任务
要解决此问题,您一定要确保所有项目都引用相同版本的软件包Xamarin.Forms 。
在Solution Explorer
右键单击解决方案节点,然后选择Manage NuGet Packages for solution...
。选择Consolidate
选项卡,然后单击Xamarin.Forms
NuGet包,确认所有项目使用相同版本。如果没有,请将所有版本更新为相同版本。
此外,有人说安装.NET Framework 4.7.1有助于解决这个问题,你可以检查它是否有帮助。
认证:https://forums.xamarin.com/discussion/comment/324869#Comment_324869
注意:如果您无法成功安装.net framework 4.7.1,请尝试将Windows 10更新到最新版本。谢谢@Vahid。
希望这有帮助。
答案 1 :(得分:0)
尝试以上所有方法,但均失败。我提到我使用的是VS2017 v15.7.5。
如果没有任何效果,请尝试以下操作:
关闭VS-所有实例
在不加载解决方案的情况下重新打开VS
转到工具->选项-> NuGet程序包管理器->程序包管理器设置-> NuGet程序包管理器->常规->清除所有NuGet缓存
加载解决方案并进行构建。
对我有用!
答案 2 :(得分:0)
我正在将VS 2017与Xamarin Forms一起使用。这些是我为解决此错误而采取的步骤:
答案 3 :(得分:0)
我遇到了这个问题,解决方案是必须执行的Windows更新的挂起重启。非常烦人。
答案 4 :(得分:0)
解决方案1:
有时它有助于用taskmanager杀死MsBuild进程。 (按Ctrl + Shift + Esc)
解决方案2:
清洁溶液
关闭Visual Studio
删除所有obj / bin文件夹
(有时需要删除软件包文件夹)
重新启动Visual Studio并重新构建
答案 5 :(得分:0)
最近我遇到了同样的问题,最简单的解决方案是安装 .net Framework 4.7.1 。这是因为netstandard2需要 4.7.1!
答案 6 :(得分:0)
这对我有用:
步骤1:使用您正在使用的解决方案关闭Visual Studio。
第2步:删除解决方案文件夹中的.vs文件夹(.vs文件夹通常处于隐藏状态)
第3步:使用Visual Studio重新打开您的解决方案
就这样。