如何在 Visual Studio 2017 年构建 flurl?

How can flurl be built in Visual Studio 2017?

我正在尝试在 Visual Studio 2017 企业版计算机上构建库 FLURL,它在 github 上找到:Flurl, an HTTP extension library。我已经选择了所有 Xamarin 选项,所有 C# 选项,但 C++ 选项的 none (这应该无关紧要,这是一个 C# 库)。我遇到过无数次 NuGet 无法更新某些库,尤其是 MS 本身的库。如果有帮助,我可以 post 稍后再说,但现在不想让问题变得混乱。

我需要更新库,因为我使用 Flurl 库和 T4 处于边缘状态 - 我正在使用 Flurl 从 T4 脚本中调出(不管为什么,这并不重要)。我这样做的问题是我的库的其余部分(它自己的一大块代码)正在使用 Newtonsoft Json v 10。Flurl 仅限于 9.x。虽然 .NET 可以处理差异并根据需要加载库,但 T4 不能。它一次只能加载一个版本,因此我在尝试加载 v10 时遇到未找到的错误,或者在尝试通过单独的路径加载两者时遇到方法丢失错误。 T4 要求使用内部命令专门加载包,并且没有规定加载同一库的多个版本。

所以...直到 "official" 更新使用最新最好的 MS 和 Newtonsoft 库,我的想法是构建本地变体,将其放入我的本地 NuGet 服务器存储库中,然后在正式更新出来之前使用它。由于上述错误,只有我不能。因此,如果有人可以协助构建 flurl 库,因为他们已经知道技巧是什么,我将不胜感激。我当前的环境是专门为此构建的(一定喜欢 VMWare)所以我有 Win 10 creator,VS2017 和所有最新更新。

我怎样才能得到 flurl 来构建?

更新:作者非常友好地通知我更新了代码,但是,我仍然无法按照(预期的)编译过程简单地在 .zip 中克隆源代码,打开 . zip,复制 flurl 源代码树,在 VS2017 中打开 flurl .sln 文件并点击 "rebuild"。 所有错误都在一个文件中,PackageTester.Shared.Tester.cs。我的 VS 抱怨缺少对 "flurl" 本身的引用。而且,事实上,参考列表确实表明 flurl 和 flurl.http 是 "missing"。我想我可以 "fix" 通过转到 NuGet 并获取最新的 flurl 来做到这一点,但是,我对经典 "chicken and egg" 问题感到震惊,因为我需要 flurl 来编译 flurl?当我坐在这里窃笑时,我想知道我应该如何解决最后这个小问题才能成功构建 flurl 并继续使用这个很棒的库。为了避免任何潜在的讽刺解释,我非常认真 - 我真的很喜欢 flurl,不得不为我的 T4 问题编写解决方法对我来说很痛苦。我完成了它,但我更愿意使用这个优秀的库,而不必为这些事情烦恼。所以...如果作者能善意地解决这个最后的小问题,我会很高兴!

更新 更新:在检查包源并看到它设置为 api.nuget.org 而不是 "all" 后,我更改了设置,恢复了包,现在一切正常。库成功构建。很高兴知道如何在没有 flurl 的情况下构建 flurl,但现在这是次要的,因为我有一个可以完成这项工作的库构建,更重要的是,使用与我的库使用的 Newtonsoft.Json 相同的版本,因此我的现在应该解决了T4环境问题。

有一些 PCL 相关的问题阻止我们升级到 2017,但这些问题终于得到解决,所以最新版本(今天刚推送)是 VS2017 解决方案。