web-dev-qa-db-ja.com

エラーMSB4062:「Xamarin.Forms.Build.Tasks.GetTasksAbi」タスクをアセンブリからロードできませんでした

パッケージ「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キャッシュのクリアですが、いずれも役に立ちませんでした。

6
VahidShir

エラー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に感謝します。

お役に立てれば。

10
Leo Liu-MSFT

上記をすべて試して失敗しました。 VS2017 v15.7.5を使用していることに言及します。

何も動作しない場合はこれを試してください:

  • VSを閉じる-すべてのインスタンス

  • ソリューションをロードせずにVSを再度開きます

  • [ツール]-> [オプション]-> [NuGetパッケージマネージャー]-> [パッケージマネージャー設定]-> [NuGetパッケージマネージャー]-> [全般]-> [すべてのNuGetキャッシュをクリア]に移動します。

  • ソリューションをロードしてビルドします。

それは私のために働いた!

0
adSad

ここに私のために働いたものがあります:

ステップ1:作業中のソリューションでVisual Studioを閉じます。

手順2:ソリューションフォルダーの.vsフォルダーを削除します(.vsフォルダーは通常非表示です)

ステップ3:ソリューションをVisual Studioで再度開く

それでおしまい。

0
Ozesh

最近、同じ問題に直面しました。最も簡単な解決策は、。net framework 4.7.1をインストールすることです。これは、netstandard2に4.7.1が必要だからです!

参照: https://github.com/xamarin/Xamarin.Forms/issues/2667

0
Divyesh_008

Xamarin FormsでVS 2017を使用しています。これらは、このエラーを解決するために行った手順です。

  1. AndroidとiOSの両方で同じバージョンのXamarin.Formsを実行していることを確認してください
  2. ソリューションを閉じる
  3. VSを開く->ツール->オプション-> Nugetパッケージマネージャー-> NuGetキャッシュをクリア
  4. Windowsエクスプローラーでソリューションを開く
  5. Shift削除vsフォルダー
  6. Shift = binおよびobjフォルダーをAndroidおよびiOS
  7. コンピューターを再起動
  8. 再起動したら、VSを開き、NuGetパッケージを自動的に復元します(時間がかかる場合があります)
  9. クリーンソリューション
  10. 再構築ソリューション
0
Jonty

解決策1:

時々、taskmanagerでMsBuildプロセスを強制終了するのに役立ちます。 (ctrl + shift + Escを押します)

解決策2:

クリーンソリューション

Visual Studioを閉じます

すべてのobj/binフォルダーを削除します

(パッケージフォルダーの削除が必要な場合があります)

Visual Studioを再起動して再構築する

0
Fredrik

私はこの問題を抱えていましたが、解決策は、実行する必要があったWindowsアップデートの保留中の再起動でした。とてもうるさい。

0