0

VS2015ソリューション(VS2015、アップデート3)のASP.NET COREプロジェクトは、同じソリューションの他の.NETコアライブラリプロジェクトへの参照を解決します(下記のプロジェクト構造を参照)。 VS2015を実行しているローカル開発者には問題はありませんが、VSTS上の「Visual Studio Build」ステップでは、正しいバージョンの.NETコアライブラリを参照できません。VS2015ソリューションのASP.NET COREプロジェクトは、他のライブラリ参照をどのように解決しますか?

(すべてのプロジェクトが同じソリューションの一部であるが、ハードドライブ上の異なるフォルダ)

MySolution.sln__contains__My .NET COREライブラリプロジェクト#1"

MySolution.sln__contains__My .NET COREライブラリプロジェクト#2"

MySolution.sln__contains ___ CORE project__Referencingプロジェクト#1とプロジェクト#2"

これは、他のプロジェクトがproject.jsonファイルで参照されている方法です。それを動作させるために、今の

"dependencies": { 
    "LibraryProject1": "1.0.1-*", 
    "LibraryProject2": "1.0.1-*", 
    } 

私は確信して溶液を作製するために、各ネットのコアライブラリのバージョン番号を変更する必要がありますVSTSのビルドステップで正しいバージョンが取得されます。

また、開発者はこの問題に遭遇しません。

+0

ツールがVisual Studio 2017 RCに移行すると、アップグレードしてもう一度お試しいただけますか? MSBuildベースの新しいプロジェクト形式は、TFS/VSTSなどの既存のツールでうまくいくはずです。 –

+0

ソリューションのルートフォルダにglobal.jsonファイルがあっても、この問題は再現できません。何がステップを構築していますか?問題を再現できるOneDriveでプロジェクトを共有できますか? –

+0

@ starain-MSFT:これは以下のビルド手順です。https://www.visualstudio.com/en-us/docs/build/apps/aspnet/aspnetcore-to-azure – MuazzamAli

答えて

2

ソリューションのルートフォルダにglobal.jsonファイルが存在するはずです。そして、そのprojectsセクションでは、(docから)探しているものです:依存関係を解決するときにビルドシステムは、プロジェクトのために検索するフォルダ

指定します。ビルドシステムは、最上位の子フォルダのみを検索します。

+0

すばやくお返事ありがとうございます。その助けがあり、正しい方向に私を指摘した。私のフォルダ構造はC:\ Applib \ webProject \ global.json(解決ファイルもこのフォルダにあります)、C:\ Lib \ Project1、C:\ Lib \ Project2です。私はglobal.jsonファイルに相対パスを追加しようとしましたが、それでも動作しません。それを動作させる唯一の方法は、libプロジェクトをsolutionとglobal.jsonと同じフォルダの下に移動することですか? – MuazzamAli

+0

@MuazzamAli任意のフォルダへのAFAIKパスを指定でき、相対パスと絶対パスの両方を使用できます。ビルドシステムは最上位の子フォルダのみを検索することに注意してください。 project.jsonファイルの場所がC:\ Lib \ Project1 \ project.jsonとC:\ Lib \ Project2 \ project.jsonの場合、この相対パスは動作します: '.. \ .. \ Lib'(または相対パス'C:\ Lib') – Set

+0

ありがとうございます。私は相対パスのすべての組み合わせを試して、それはまだ動作しません。私は同じフォルダに移動し、それが動作するかどうかを確認します。もしそうでなければ、私はVSビルドをスキップして、ライブラリ用のnugetパッケージフォルダを指すDOTNET RESTOREに切り替えます。 – MuazzamAli

関連する問題