パッケージ「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フォルダーの削除、およびパッケージマネージャーの設定からのすべてのNugetキャッシュのクリアですが、いずれも役に立ちませんでした。
エラー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に感謝します。
お役に立てれば。
上記をすべて試して失敗しました。 VS2017 v15.7.5を使用していることに言及します。
何も動作しない場合はこれを試してください:
VSを閉じる-すべてのインスタンス
ソリューションをロードせずにVSを再度開きます
[ツール]-> [オプション]-> [NuGetパッケージマネージャー]-> [パッケージマネージャー設定]-> [NuGetパッケージマネージャー]-> [全般]-> [すべてのNuGetキャッシュをクリア]に移動します。
ソリューションをロードしてビルドします。
それは私のために働いた!
ここに私のために働いたものがあります:
ステップ1:作業中のソリューションでVisual Studioを閉じます。
手順2:ソリューションフォルダーの.vsフォルダーを削除します(.vsフォルダーは通常非表示です)
ステップ3:ソリューションをVisual Studioで再度開く
それでおしまい。
最近、同じ問題に直面しました。最も簡単な解決策は、。net framework 4.7.1をインストールすることです。これは、netstandard2に4.7.1が必要だからです!
Xamarin FormsでVS 2017を使用しています。これらは、このエラーを解決するために行った手順です。
解決策1:
時々、taskmanagerでMsBuildプロセスを強制終了するのに役立ちます。 (ctrl + shift + Escを押します)
解決策2:
クリーンソリューション
Visual Studioを閉じます
すべてのobj/binフォルダーを削除します
(パッケージフォルダーの削除が必要な場合があります)
Visual Studioを再起動して再構築する
私はこの問題を抱えていましたが、解決策は、実行する必要があったWindowsアップデートの保留中の再起動でした。とてもうるさい。