2016-06-30 7 views
5

私は最近、project.jsonと新しいnetstandard1.0フレームワークモニカを使用して、.NETコアを対象とするポータブルクラスライブラリを更新しました。これはNuget 3.4でサポートされていると私は理解しています。 私は私のプロジェクトのために、次のproject.json持っている:VSTSを使用した場合、(Visual Studioのオンラインだった)構築3.Visual Studio Team Servicesビルドパッケージproject.json netstandard1.0ターゲットで復元できません

しかし

{ 
    "supports": {}, 
    "dependencies": { 
    "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
    "NETStandard.Library": "1.6.0" 
    }, 
    "frameworks": { 
    "netstandard1.0": {} 
    } 
} 

これは、Visual Studio 2015 Updateからの偉大なビルドをし、それが今の私を与えますパッケージの中に以下のエラーがステップの復元:それは実行を示し

The project 'MyProject' does not specify any target frameworks in 'C:\a\1\s\MyProject\project.json'. 

コマンドを次のとおりです。

NuGet.exe restore "C:\a\1\s\Build.sln" -NonInteractive -configfile "C:\a\1\NuGet\newNuGet.config" 

これはソリューションに対する復元の実行によるものですか?または、VSTSビルドタスクがまだNuget 3.4を使用していないのでしょうか?

+1

@EricLiu ['NETStandard.Library' 1.6.0](https://www.nuget.org/packages/NETStandard.Library/1.6.0)は、NuGetの' NETStandard.Library'の唯一のリリース版です。より低いバージョンの 'netstandard'を使っていても、それに依存するのはいいです。 – svick

+0

これは、Project Propertiesで新しい "Target Net Standard Library"リンクを選択した後にVisual Studio 2015 Update 3で作成されたproject.jsonです。 – pianomanjh

+0

@EricLiuはい、しかし、それも 'netstandard1.0'プロジェクトには全く問題ありません。リリースバージョン!=ターゲットフレームワークのバージョン。 (それは彼らが同じに見えることは愚かです) –

答えて

0

同じ問題がありました。この問題の原因はビルドサーバー上の "Nuget.exe"のバージョンでした。 3.2.Xがインストールされていましたが、バージョン3.4.4-rtmが必要です。 Nugetは自身を更新できます。あなたは[詳細]セクションを展開し、Nugetの最新バージョンを選択することができ

+0

私は言及を忘れて、私はホストされたビルドを使用しています。どのようにコマンドラインタスクを介してナゲットを実行する任意のアイデア?引数として "update -self"を指定してnuget.exeを使用すると、 "ファイル名が実行可能ファイルへのフルパスを示すわけではありません。" – pianomanjh

+0

nuget.exeをリポジトリに追加し、nuget-restoreステップでは、nuget-exeへのパスを指定することができます。このようにすれば、あなた自身でnuget.exeを更新することができ、使用しているバージョンを制御することができます。 –

4

: "-self \ PathToNuget \ nuget.exe更新C" コマンドラインを開き、 を入力します。Nuget.exeを更新する

。 2016年10月現在のNuget 3.5 rc2

+0

Nuget 3.5 rc2(ビルド1829)を使用しますが、引き続き次のエラーが発生します:.. \ project.json(15,26):エラーNU1001:依存NetStandard.Library> = 1.6.0を解決できませんでした。私たちがこのバージョンのNugetをローカルで実行し、その後にdotnet buildを実行しようとすると、問題なく動作します。 – ghost

1

有効なバージョンのNuGetを使用していますが、NuGet Installerの直後に新しいビルドステップとしてコマンドラインを追加することもできます。 dotnet restore(ツール:dotnet、引数:restore)を呼び出します。

関連する問題