我正在尝试使用 Visual Studio 2017 企业版在我的机器上构建库 FLURL,该库位于 github 上: Flurl, an HTTP extension library 。我选择了所有 Xamarin 选项、所有 C# 选项,但没有选择 C++ 选项(这一点都不重要,这是一个 C# 库)。我在 NuGet 更新某些库时遇到过无数次失败,尤其是 MS 本身的库。如果有帮助,我可以稍后发布,但不想在此时混淆问题。
我需要更新库,因为我正在使用带有 T4 的 Flurl 库进行边缘条件 - 我正在使用 Flurl 调用 T4 脚本(不管为什么,这并不重要)。我这样做的问题是我的库的其余部分(本身就是一大块代码)正在使用 Newtonsoft Json v 10。Flurl 仅限于 9.x。虽然 .NET 可以处理差异并根据需要加载库,但 T4 不能。它一次只能加载一个版本,因此我在尝试加载 v10 时遇到未找到错误,或者在尝试通过单独的路径加载这两个版本时遇到缺少方法错误。T4 要求使用内部命令专门加载包,并且没有规定加载同一库的多个版本。
所以......直到有一个使用最新和最好的 MS 和 Newtonsoft 库的“官方”更新,我的想法是构建一个本地变体,将它放在我的本地 NuGet 服务器存储库中并使用它,直到官方更新到来出去。由于上述错误,只有我不能。因此,如果有人可以协助构建 flurl 库,因为他们已经拥有并且知道技巧是什么,我将不胜感激。我当前的环境是专门为此而构建的(一定会喜欢 VMWare),所以我有 Win 10 创建者,VS2017 以及所有最新更新。
我怎样才能得到flurl来构建?
更新:作者非常友好地通知我代码的更新,但是,在(预期的)编译过程之后,我仍然无法构建相同的代码,只需将源代码克隆到 .zip、打开 .zip、复制 flurl源代码树,在 VS2017 中打开 flurl .sln 文件并点击“重建”。所有错误都在一个文件 PackageTester.Shared.Tester.cs 中。我的 VS 苦苦抱怨没有提及“flurl”本身。而且,确实,参考列表确实表明 flurl 和 flurl.http 是“缺失的”。我想我可以通过转到 NuGet 并获取最新的 flurl 来“解决”这个问题,但是,我对经典的“鸡和蛋”问题感到震惊,因为我需要 flurl 来编译 flurl?当我坐在这里轻笑时,我 我想知道我应该如何解决最后一个小问题,以便成功构建 flurl 并继续使用这个美妙的库。为了避免任何潜在的讽刺解释,我很认真——我真的很喜欢 flurl,不得不为我的 T4 问题写一个解决方法让我很痛苦。我完成了,但我更愿意使用这个优秀的库,而不必为这些事情烦恼。所以......如果作者愿意为最后一个小怪癖提供解决方案,我会是一个快乐的人!我宁愿使用这个优秀的库,而不必为这些事情烦恼。所以......如果作者愿意为最后一个小怪癖提供解决方案,我会是一个快乐的人!我宁愿使用这个优秀的库,而不必为这些事情烦恼。所以......如果作者愿意为最后一个小怪癖提供解决方案,我会是一个快乐的人!
更新更新:检查包源并看到它设置为 api.nuget.org 而不是“全部”后,我更改了设置,恢复了包,现在一切都很好。库成功构建。很高兴知道如何在没有 flurl 的情况下构建 flurl,但现在这是次要的,因为我有一个可以完成这项工作的库构建,更重要的是,它使用我的库使用的相同版本的 Newtonsoft.Json,因此我的 T4 环境现在应该解决问题。