2016-07-02 8 views
5

私のチームプロジェクトにCIを設定しようとしていますが、私のビルドは最初のライブラリプロジェクトを過ぎていません。ロックファイルが見つからないと訴えています。復元するためにナゲットを設定しましたが、ロックファイルを作成していないようです。 Gitはロックファイルを無視してリポジトリに入れません。Visual Studio Team Servicesでプロジェクトのビルドが失敗する - ロックファイルがありません

Summary 
| Build 
3 error(s), 0 warning(s) 
Build - 3 error(s), 0 warning(s) 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(241):Project Core does not have a lock file. 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(241):Project Core does not have a lock file. 
Process 'msbuild.exe' exited with code '1'. 
| Finalize build 
0 error(s), 0 warning(s) 

誰でもロックファイルを作成する方法を知っていますか?

私のソリューションは、ASP.NET Core RC2のWebサイトです。それはVS 2015上で正常に構築されます。Microsoftは先週ASP.NET Coreを発表してビルドサーバー上にあるはずですか、自分でビルドサーバーを作成する必要がありますか?ここで

はコアライブラリの私のproject.jsonファイルの内容です:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.AspNetCore.Identity": "1.0.0-rc2-final", 
    "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", 
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc2-final", 
    "Microsoft.Extensions.Logging": "1.0.0-rc2-final", 
    "NETStandard.Library": "1.5.0-rc2-24027", 
    "NodaTime": "2.0.0-alpha20160523" 
    }, 

    "frameworks": { 
    "netstandard1.5": { 
     "dependencies": { 
     "System.ComponentModel.Annotations": "4.1.0-rc2-24027" 
     }, 
     "imports": [ "dnxcore50", "portable-net45+win8" ] 
    } 
    } 
} 
+0

これは、Hosted Buildサーバーにインストールされているものです(https://www.visualstudio.com/en-us/docs/build/agents/hosted-pool#software)。 Visual Studio Update 2をまだ実行していることを考えれば、まだASP.NET Core RC2がインストールされているとは思いません。 – jessehouwing

+0

私はVS Team Servicesを試していませんでしたが、これは基本的に何も 'dotnet restore'を実行しなかったことを意味します。 – Pawel

+0

私は昨日VS 2015、Update 3に自分の開発ボックスを更新しました。私のビルドはUpdate 2で働いていました。@ jessehouwingが参照するリストを見た後、Coreはまったく言及されていません。おそらくそれがロックファイルを作成していない理由です。私は、MSがホストされたビルドサーバーに組み込むか、自分で作成するのを待たなければなりません。 – phitch

答えて

8

あなたのビルド定義に新しいビルドステップを追加することによってこの問題を解決することができます。

ビルド定義のステップ1として「コマンドライン」タスクを追加します。このタスクの

設定は次のとおりです。

ツール:DOTNET

引数:ビルド定義に次の変数を追加することによって、あなたはまた、少しこれをスピードアップすることができ

復元: DOTNET_SKIP_FIRST_TIME_EXPERIENCE = true

+0

ありがとう、私は@ jessehouwingによって残されたコメントからこれを理解しましたが、彼は私がマークできる答えを残しませんでした。おそらく私は自分の質問に答えていたはずですが、あなたが答えを出したので、私は答えとしてあなたの印をつけます。 – phitch

関連する問題