2017-05-22 4 views
1

私は自分のビルドパイプラインをdotnet Coreプロジェクト用にしています。ビルドスクリプトの一部がdotnet restoreを実行します。私はこのようにします:Dotnet restore MyProj.csprojはVSTS上で "ファイルタイプが認識されません"と表示します

dotnet restore C:/Projects/MyProj/src/MyProj/MyProj.csproj 

そして、問題なくローカルに復元します。私はVSTSに同じスクリプトを押すと、サーバーを構築し、ログに私はこのような実行を参照してください。

dotnet restore D:/a/1/s/src/MyProj/MyProj.csproj 

をその後私はエラーを取得する:

error: Invalid input 'D:/a/1/s/src/MyProj/MyProj.csproj'. The file type was not recognized.

私が間違って何をしているのですか? VSTS上ではなくローカルで動作するのはなぜですか?

私はVSTSのとしてローカルdotnet.exeの同じバージョンを使用しています:

{ 
    "projects": ["src"], 
    "sdk": { 
    "version": "1.1.0" 
    }, 
    "packages": "packages" 
} 

フォルダ構造など:私はsrcフォルダの外に座ってglobal.jsonファイルを持っている

Version : 1.1.0
Build : 928f77c4bc3f49d892459992fb6e1d5542cb5e86

以下:

Root/ 
     build.cake 
     build.ps1 
     global.json 
     src/ 
      MyProj.sln 
      MyProj/ 
      MyProj.csproj 
      *.cs 
      MyProj.Tests/ 
      MyProj.Tests.csproj 
      *.cs 

ソリューションはVS2017で作成されているため、これは緯度ですest csprojファイル形式。

他に何を確認する必要がありますか?

答えて

5

プロジェクトではVS 2017と「リリース済み」の.NET CLIツールが使用されているため、必要なツールがインストールされているエージェントでビルドが実行されるように、エージェントキューもHosted VS2017ビルドに使用する必要があります。

共有ランタイムホスト(dotnet.exe)のバージョンが同じで、違いは新しいCLIは(dotnet.exeであるディレクトリのsdkサブディレクトリにある)もインストールする必要があることです。

+0

私はこのことが既にビルドエージェントにインストールされていると思いますが、試してみましょう – trailmax

+0

これはインストールされたSDKが私がコンパイルしているものと同じではないことに気がつきました。 SDKをインストールするとすぐに結果が得られました。ありがとう! – trailmax

+0

これは正しいと思いますが、VSTSを初めて使う人は何をすべきか分かりませんでした。この回答は次のように役立ちました:https://stackoverflow.com/a/42969311/345179 – Alex

関連する問題