2017-11-14 11 views
2

私は、Javaコアを念頭に置いて設計された私の仕事で、ビルドシステムで.NETコアを動作させようとしています。しかし、悲しいことに私たちのパイプラインに統合されているので、それがなくても私たちができる方法はありません。だから、私が仕事で.NETを使用したいのであれば、このビルドシステムと一緒にいなければなりません。dllリファレンスを持つ.NETコアビルド

各プロジェクトは独自のgitリポジトリとともにパッケージに組み込まれています。

MyConsoleAppMyLibraryに依存する以下のようなプログラムがあるとします。

MyProgram-Solution 
- MyConsoleApp 
- MyLibrary 

私は一度に1を構築することができ、私はソースコードを移動することはできませんが、ビルド時にソースコードが

/build/packages/MyConsoleApp/ 
/build/packages/MyLibrary/ 

に置かれることになります。私が最初にMyLibraryを構築する必要があることを意味 、私はその後、MyConsoleAppを構築するとDLLが

/build/packages/MyLibrary/out/MyLibrary.1.0.dll 

で終わると、私はMyLibrary.1.0.dllファイルを見つけることができるツールを構築する.NETのコアを伝えるための方法が必要ですパッケージには、ビルド時にリリースの準備ができていない可能性としてNugetで

/build/packages/MyLibrary/out/MyLibrary.1.0.dll 

保存するパッケージでは、オプションではありません、そしてビルドシステムは、それが外部接続を持っていないことを意味、サンドボックスモードで動作します。

可能であればMyConsoleApp.csprojを編集できます。

+0

あなたは外部接続なしでNuGetを使用することができます。 'MyLibrary'はパッケージを作ることができます。' MyConsoleApp'は 'NuGet.config'ファイルを使ってNuGetパッケージソースとしてビルドシステムにフォルダを追加することができます。つまり'/build/packages/MyLibrary /アウト/ '。 – yaakov

答えて

3

.NET Frameworkプロジェクトと同じように、Visual Studioを使用してアセンブリ参照を追加できます。

あなたが手でプロジェクトファイルを変更したい場合は、以下のようなものが必要です:

<ItemGroup> 
    <Reference Include="MyLibrary"> 
    <HintPath>..\..\..\MyLibrary\out\MyLibrary.1.0.dll> 
    </Reference> 
</ItemGroup> 
関連する問題