【问题标题】:Xamarin Studio build targets? Trying to get Fody working?Xamarin Studio 构建目标?试图让 Fody 工作?
【发布时间】:2014-11-05 19:26:33
【问题描述】:

我正在尝试让 Xamarin Studio 使用 PropertyChanged.Fody。我通过 NuGet 安装了 Fody,它将 Fody.targets 放在其 NuGet 包文件夹中。但是当我构建时,输出永远不会显示目标已运行。

如何告诉 Xamarin Studio 使用 Fody 构建目标?

谢谢!

【问题讨论】:

    标签: c# xamarin.ios xamarin-studio xamarin.forms


    【解决方案1】:

    我遇到了同样的问题,并设法弄清楚如果您从 fody 正常运行的 csproj 文件中删除 build\Microsoft.Bcl.Build.targets。

    所以试着删除这条线。

    <Import Project="..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets" Condition="Exists('..\..\packages\Microsoft.Bcl.Build.1.0.21\build\Microsoft.Bcl.Build.targets')" />
    

    【讨论】:

    • 我知道您在 Xamarin 项目中不需要 Microsoft.Bcl.Build,但我需要解释为什么 Fody 在删除此 Import 指令后仍在工作。这对我来说毫无意义。
    • 谢谢,这节省了我几个小时!
    • 有人知道为什么这会有所不同吗?
    • 对于仍然有问题或需要 BCL(例如,如果使用 Microsoft.Http*)的任何人,升级到 Xamarin Studio 6.0 并结合此解决方案是我们案例中的解决方案。请注意,XS 6.0 支持 MSBuild 工具 v14; Fody 又回到了我们的应用中。
    【解决方案2】:

    当您使用 标记您的问题时,我认为您在 iOS 上遇到了问题。直到最近,Xamarin.Studio 还没有使用 xbuild(或 msbuild)来构建项目,然后跳过了其他目标。

    Xamarin.iOS 7.9(或更实际的8.0)开始,默认值不变,但您可以从项目首选项中启用它:

    忽略“不受支持”警告,但如果您有任何问题,请知道它不受支持。

    然后,前提是nuget 正确添加了这样一行

      <Import Project="PATH_TO/Fody.targets" />
    

    目标应该被执行。

    【讨论】:

    • 我的解决方案包括一个用于共享组件的 PCL 项目、一个 iOS 项目和一个 Android 项目。需要编织的文件恰好在 PCL 项目中。该项目没有选择构建引擎的选项。 iOS 应用确实具有该选项,但检查它会导致生成错误,提示它无法导入 Xamarin.MonoTouch.CSharp.targets。鉴于它是一个共享库项目,有什么建议吗?
    • 查看你的构建输出,检查任务是否执行
    • 我已经通过各种项目选项更改多次这样做了。它似乎永远不会执行。我已经仔细检查了构建目标是否已导入到 csproj 文件中,因此它在结构上看起来是正确的。
    【解决方案3】:

    Fody.targets 文件中存在错误。 直接替换

    Condition="Exists(@(IntermediateAssembly))"
    

    Condition="Exists('@(IntermediateAssembly)')"
    

    它应该会再次工作。

    .../projectfolder/packages/Fody2.x.x/build/netstandard1.4/Fody.targets中查找文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-05
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 1970-01-01
      • 2017-08-03
      相关资源
      最近更新 更多