2015-11-25 5 views
28

(今度はDNX issue 3206 ...)global.json内の親相対ディレクトリの予想される動作は何ですか?

DNX環境:1.0.0-rc1、Windows 10 x64。

は、私が3つのソリューション持っている想像してみて:これらのソリューションのそれぞれが、中に複数のプロジェクトを持っている

  • アプリケーション1
  • アプリケーション2
  • 共通

を。すべてのプロジェクトを1つのソリューションにまとめることは意味がありませんが、それは簡素化されますが、特にの問題です。

Application1とApplication2のさまざまなプロジェクトは、共通のプロジェクトに依存しています。彼らのproject.jsonファイルは、通常の方法で依存関係を示します。最終的にCommonからNuGetサーバー(内部または外部)に成果物を公開したいが、ソースからすべてを一時的に構築するのは理にかなっている。

私が持っているアプリケーション1(例えば)内 global.jsonを編集していることを行うことができます

:代わりにそれと

{ 
    "projects": [ "src", "test", "../Common/src" ], 
    "sdk": { "version": "1.0.0-rc1-final" } 
} 

を、私はアプリケーション1のディレクトリから...ではなく、ルートからdnu restoreを実行することができますディレクトリ。 (エラーは "Dependency 'Common'> = 0.0.0- *"を見つけることができません)。ではなく、dnu restore Application1をルートディレクトリから実行できます。

私は、多くの(「./Common/src」、 『共通/ SRC』、「../repo-name/Common/src」を含む)共通srcディレクトリを参照する方法が、避難所」を試してみた

まだ喜んでいなかった。いずれの場合も、上記のエラーメッセージが表示されます。私はdnu -v restoreを使用しようとしましたが、ソースベースのパッケージに対してどのディレクトリが調査されているかについての追加情報は表示されませんでした。

だから、どのように"../Common/src"global.jsonで解決さでしょうか?これは、私が記述した開発シナリオに共鳴可能なアプローチですか、もしそうなら、DNXに対するバグを提出するだけですか?

+1

に移動するとき

{ "projects": [ "Application/src", "Common/src" ] } 

が、私はこのシナリオについて聞いて回るだろうとあれば、それは変更される場合があります。この問題を解決するための

一つの方法は、次の内容のルートフォルダにglobal.jsonを追加することですまだ学習していますが、global.jsonファイルが1つしかなく、ルートにあるべきではありませんか? –

+1

@KhalidAbuhakmeh:ソリューションごとに1つ。これは、それぞれが複数のプロジェクトを持つ複数のソリューションのケースです。質問を明確にします。 –

+1

global.json(またはdnx)の経験はありません。しかし、一般的に、私は "/ folder "は異なるコンテキストで問題があるため、Common/srcの内容を指定されたアプリケーションのフォルダの中に保存し、" ../ "の部分を使わずに参照しようとしましたか? – varocarbas

答えて

8

起動時にdnu restoreが現行ディレクトリまたは親ディレクトリのglobal.jsonを見つけようとしていて、それからプロジェクトパスを読み込みます。したがって、あなたの例では、global.jsonはサブディレクトリにあるので、何も読み取られません。 dotnet cli私は「

+1

それは*のみ*は、childディレクトリを検索するときにproject.jsonを探しますか?それは行動には意味をなさないが、奇妙なデザインの選択と思われる。しかし、実験します - ありがとう! –

+1

そうですね、もう少しプレイしていれば、これはまさに問題だと思います。適切に問題を修正します:) –

関連する問題