2016-06-16 17 views
2

私は公式のナゲットライブラリ(forecast.io)のフォークを参照するプロジェクトを持っています。私はlibのコピーを見つけるためにglobal.jsonを手配しましたが、まだdotnet restoreは私のフォークではなく正式版に手を伸ばしているようです。.NET Core RC2:パッケージのローカルフォークを使用

私はエラーを取得するので、私はこの結論を形成:

Package Forecast.io 1.0.0 is not compatible with netcoreapp1.0 (.NETCoreApp,Version=v1.0). Package Forecast.io 1.0.0 supports: net45 (.NETFramework,Version=v4.5) 
One or more packages are incompatible with .NETCoreApp,Version=v1.0. 

しかしforecast.ioの私のフォークがさえ.NET 4.5ターゲットにしない - だけで「net40」と「netcoreapp1.0を」。

ローカルフォークが代わりに使用されるようにするにはどうすればよいですか?

"dependencies": { 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0-rc2-3002702" 
    }, 
    "MyOtherLibRefWhichWorks": "1.0.0-*", 
    "Forecast.io": "1.0.0-*", 

EDIT:

は、ここに私のglobal.json

{ 
    "projects": [ 
    "../../ext/forecast.io-csharp/src/Forecast.io", 
    "MyOtherLibRefWhichWorks", 
    "MyPrimaryProject" 
    ] 
} 

、プライマリプロジェクトからproject.jsonからの抜粋ですglobal.jsonは完全に無視行くように思えます。 project.jsonがあるディレクトリの上に1つのディレクトリがあります。

+0

「Forecast.io」を試しましたか:{"target": "project"} '? – svick

+0

これにより、 'Forecast.io'を解決できませんでした(project.jsonに変更を適用しました) - global.jsonが何らかの理由で無視されている可能性があると思われます。 – Malachi

+0

グローバルに現在のプロジェクトを追加するとどうなりますか.jsonも? – svick

答えて

1

ローカルまたはリモートのNugetフィードを作成することは、この状況に対してはるかに信頼できる解決策になります。私が公開しているパッケージのベータ版を管理するためにこれを自分で行います。本当にうまく動作します。

ローカルで実行するには、空のフォルダとNuget CLIが必要です。フォルダーがC:\Nugetの場合は、

nuget add package.nupkg -source C:\Nuget 

を実行します。フォークされたパッケージをローカルフィードに追加するには、次の手順を実行します。混乱がないように、フォークされたパッケージを公式パッケージとは異なる名前またはバージョン番号でビルドします。その後

、ソースとしてローカルのフィードを使用するようにNugetを設定:あなたのフォークパッケージを参照し、ローカルコピーをプルダウンするために、再度dotnet restoreを実行するために、あなたのproject.jsonを更新し、これがすべて設定されると

nuget sources Add -Name LocalNuget -Source C:\Nuget 

複数のマシンまたはチーム環境でパッケージを復元する必要がある場合は、独自のNuGetサーバーを設定するか、MyGet.orgを使用してパッケージをホストすることができます。

+0

これはうまくいきます(nuget addは私のために存在しなかったので、単に手動でnupkgをコピーしただけです)。しかし、私は、a)project.jsonのバージョンネームの変更と、b)機械ごとのセットアップが必要であることに気をつけています.-恐ろしくないですが、 – Malachi

+0

上記のリンクから 'nuget.exe'をダウンロードして、 CLIを使用する場合はPATHを指定します。あなたはそうです、パッケージを共有ネットワークの場所に置かない限り、これはチームにとってうまくいきません。その場合のより良い解決策はMyGet! –

+0

@Malachi「必然的なバージョンネームチャーン」とはどういう意味ですか? –

関連する問題