-2

ここの github にあるライブラリ FLURL を構築しようとしています: Flurl、HTTP 拡張ライブラリ、Visual Studio 2017 Enterprise バージョンを搭載したマシンで。Xamarin のすべてのオプション、C# のすべてのオプションを選択しましたが、C++ のオプションは 1 つも選択していません (これは C# のライブラリであるため、まったく問題ありません)。特定のライブラリ、特に MS 自体のライブラリを更新する際に、NuGet で多数の失敗に遭遇しました。それが助けになる場合は、後で投稿できますが、現時点では質問を混乱させたくありません.

T4 で Flurl ライブラリを使用してエッジ条件に取り組んでいるため、ライブラリを更新する必要があります。Flurl を使用して T4 スクリプトから呼び出しています (理由は気にしないでください。それは重要ではありません)。私がそうしている問題は、ライブラリの残りの部分 (それ自体のコードのかなりの部分) が Newtonsoft Json v 10 を使用していることです。Flurl は 9.x に制限されています。.NET は違いを処理し、必要に応じてライブラリをロードできますが、T4 はできません。一度に 1 つのバージョンしかロードできないため、v10 をロードしようとすると見つからないというエラーが発生するか、別々のパスを介して両方をロードしようとするとメソッドが見つからないというエラーが発生します。T4 では、内部コマンドを使用してパッケージを具体的にロードする必要があり、同じライブラリの複数のバージョンをロードするための規定はありません。

そのため...最新かつ最高のMSおよびNewtonsoftライブラリを使用する「公式」更新があるまで、アイデアはローカルバリアントを構築し、それをローカルNuGetサーバーリポジトリに配置して、公式更新が来るまでそれを使用することでしたアウト。前述のエラーのため、私だけができません。ですから、誰かが flurl ライブラリの構築を手伝ってくれるなら、彼らはすでにトリックが何であるかを知っていて、知っているので、私は感謝します。私の現在の環境は、これを行うために特別に構築されたので(VMWareが大好きです)、Win 10クリエーターであるVS2017に最新のアップデートがすべて含まれています。

flurl をビルドするにはどうすればよいですか?

更新: 作成者はコードの更新について非常に親切に通知してくれましたが、.zip でソースを複製し、.zip を開き、flurl をコピーするだけの (予想される) コンパイル プロセスに従っても、同じものをビルドできません。ソース ツリー、VS2017 で flurl .sln ファイルを開き、「再構築」を押します。すべてのエラーは、PackageTester.Shared.Tester.cs という 1 つのファイルにあります。私の VS は、「flurl」自体への参照がないことについて激しく不満を言っています。実際、参照リストは flurl と flurl.http が「欠落」していることを示しています。NuGet にアクセスして最新の flurl を取得することでこれを「修正」できると思いますが、flurl をコンパイルするには flurl が必要であるという古典的な「鶏と卵」の問題に直面していますか? ここに座って笑いながら、私は' flurl をうまく構築し、この素晴らしいライブラリを使い続けるためには、この最後の小さな問題をどのように修正すればよいのか疑問に思っています。潜在的な皮肉な解釈を避けるために、私は非常に真剣です - 私は flurl が本当に好きで、T4 問題への回避策を書かなければならないのは苦痛でした。私はそれをやり遂げましたが、私はむしろこの優れたライブラリを使用し、そのようなことに悩む必要はありません。だから...作者がこの最後のちょっとした癖を親切に修正してくれるなら、私は幸せな男になるだろう. むしろ、この優れたライブラリを使用して、そのようなことで自分を悩ませる必要はありません。だから...作者がこの最後のちょっとした癖を親切に修正してくれるなら、私は幸せな男になるだろう. むしろ、この優れたライブラリを使用して、そのようなことで自分を悩ませる必要はありません。だから...作者がこの最後のちょっとした癖を親切に修正してくれるなら、私は幸せな男になるだろう.

更新された更新: パッケージ ソースを調べて、「all」ではなく api.nuget.org に設定されていることを確認した後、設定を変更し、パッケージを復元したところ、すべてが正常になりました。ライブラリが正常にビルドされます。flurl を使用せずに flurl をビルドする方法を知っていると便利ですが、それは二次的なことです。これは、その仕事を行うライブラリ ビルドがあり、さらに重要なことに、私のライブラリが使用するものと同じバージョンの Newtonsoft.Json を使用するため、私の T4 環境を使用するためです。問題は解決されるはずです。

4

1 に答える 1

2

2017 へのアップグレードを妨げていた PCL 関連の癖がいくつかありましたが、それらは最終的に解決されたため、最新バージョン (今日プッシュされたばかり) は VS2017 ソリューションです。

于 2017-07-18T01:03:55.617 に答える