visual-studio - 错误 MSB4061 : The "XamlCTask" task could not be instantiated

标签 visual-studio xamarin xamarin.forms msbuild-task

在尝试在 Visual Studio for Mac 社区 (7.0.1 [build 24]) 上编译 Xamarin Forms (2.3.4.247) 项目时,我在编码一段时间后不断收到以下两个错误,有关导致它的原因以及如何修复的任何线索它?

/Users/PathToProjectRoot/packages/Xamarin.Forms.2.3.4.247/build/portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20/Xamarin.Forms.targets(3,3): Error MSB4061: The "XamlCTask" task could not be instantiated from "/Users/PathToProjectRoot/packages/Xamarin.Forms.2.3.4.247/build/portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20/Xamarin.Forms.Build.Tasks.dll". Could not load file or assembly 'Xamarin.Forms.Build.Tasks' or one of its dependencies (MSB4061) (ProjectName)
/Users/PathToProjectRoot/packages/Xamarin.Forms.2.3.4.247/build/portable-win+net45+wp80+win81+wpa81+MonoAndroid10+Xamarin.iOS10+xamarinmac20/Xamarin.Forms.targets(3,3): Error MSB4060: The "XamlCTask" task has been declared or used incorrectly, or failed during construction. Check the spelling of the task name and the assembly name. (MSB4060) (ProjectName)

我试过的
  • 更新了所有软件包和 SDK。
  • 清洁/重建解决方案。
  • 删除所有包,关闭 VS,重新打开并恢复所有包。
  • 删除了所有 binobj文件夹尝试重建。
  • 检查 3 .csproj对于 2.3.4.247 之前的任何过时的导入.
  • 创建一个新的解决方案。

  • 什么有效

    使用 Xamarin Forms 创建新的干净解决方案有效,但这会导致所有包都来自旧版本。我已经这样做了两次,但我希望能够停止这样做,因为将所有文件从损坏的项目传输到新项目需要花费大量时间。

    什么没有奏效

    除了我尝试过的所有事情之外,在清除 中的所有以前的项目之后创建一个新项目可能很有用。同 解决方案不能解决问题。
    这让我觉得这是解决方案级别的错误,而不是项目级别的错误。

    安装了哪些包
    Xamarin.Android.Support.Animated.Vector.Drawable.25.3.1
    Xamarin.Android.Support.Annotations.25.3.1
    Xamarin.Android.Support.Compat.25.3.1
    Xamarin.Android.Support.Core.UI.25.3.1
    Xamarin.Android.Support.Core.Utils.25.3.1
    Xamarin.Android.Support.Design.25.3.1
    Xamarin.Android.Support.Fragment.25.3.1
    Xamarin.Android.Support.Media.Compat.25.3.1
    Xamarin.Android.Support.Transition.25.3.1
    Xamarin.Android.Support.Vector.Drawable.25.3.1
    Xamarin.Android.Support.v4.25.3.1
    Xamarin.Android.Support.v7.AppCompat.25.3.1
    Xamarin.Android.Support.v7.CardView.25.3.1
    Xamarin.Android.Support.v7.MediaRouter.25.3.1
    Xamarin.Android.Support.v7.Palette.25.3.1
    Xamarin.Android.Support.v7.RecyclerView.25.3.1
    Xamarin.Build.Download.0.4.5
    Xamarin.Forms.2.3.4.247
    

    安装了哪些 Android 平台
    android-23
    android-25
    

    什么文件导致错误

    错误是由包含以下行的文件 Xamarin.Forms.targets 引起的:
    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
        <UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlGTask" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>
        <UsingTask TaskName="Xamarin.Forms.Build.Tasks.FixedCreateCSharpManifestResourceName" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>
        <UsingTask TaskName="Xamarin.Forms.Build.Tasks.XamlCTask" AssemblyFile="Xamarin.Forms.Build.Tasks.dll"/>
    
        <!-- Some more lines here ...  -->
    
        <Target Name="XamlC">
            <!-- /!\ Error flagged at next line's "<" -->
            <XamlCTask
                Assembly = "$(IntermediateOutputPath)$(TargetFileName)"
                ReferencePath = "@(ReferencePath)"
                Verbosity = "2"
                OptimizeIL = "true"
                DebugSymbols = "$(DebugSymbols)"
                DebugType = "$(DebugType)"/>
        </Target>
    </Project>
    

    最新更新

    [6月16日]
  • 在多次尝试创建新解决方案之后,我现在无法创建一个能够构建的解决方案。无论我的软件包使用什么版本,我都会收到这两个错误。
  • See the Build output here.
  • 最佳答案

    此问题是由 # 引起的项目路径中的角色。删除它解决了问题。

    关于visual-studio - 错误 MSB4061 : The "XamlCTask" task could not be instantiated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44575846/

    上一篇:JSF 2.3 模式

    下一篇:Flash 视频替代品

    相关文章:

    asp.net - 为什么 Visual Studio 不解析我的 CSS 类名?

    visual-studio - 为什么这个 D 程序会抛出奇怪的访问冲突异常?

    ios - Xamarin.forms,删除 iOS 10 中的状态栏

    android - Xamarin Android 异常导致 "Frame not in module"

    c# - 如何修改Shell中的图片以显示通知徽章?

    ios - 如何在 Xamarin.Forms 中设置控件的宽度

    visual-studio - 代码片段未显示在 IntelliSense 中

    c# - 如何在 C# 项目中添加新的 win 窗体?

    uwp - Xamarin form-UWP - 在列表快速滚动时显示数据之前的黑色单元格

    c# - Xamarin 在哪里执行绑定(bind)表达式?