私たちは、溶液中で、次のプロジェクト構造を持っています。ナゲットは、複数のソリューションで参照されているか、それとも単独で使用されていますか?
\ Project2の
\ Project1の
のProject2がProject1のに依存しています。 Project1は複数のプロジェクトで共有されます。このソリューションの一部であったときに、Project1のためのナゲットパッケージ(Roslynなど)を追加しました。
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ../../Project2/packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props.
を私はそれがで次たstatmentsを持っているテキストエディタでプロジェクトファイルを開く場合は、次のは完全に別のアプリでそれが失敗したときに我々が抱えている問題は、私たちは、それ自体でのProject1をコンパイルするか、それをコンパイルしようとするいずれかの場合プロジェクトファイル:
<Import Project="..\..\Project2\packages\Microsoft.Net.Compilers.1.2.2\build\Microsoft.Net.Compilers.props" Condition="Exists('..\..\Secured Account Access\Member\packages\Microsoft.Net.Compilers.1.2.2\build\Microsoft.Net.Compilers.props')" />
もちろんすべてnugetの参照を削除してからちょうど個々のプロジェクトを開き、nugetの参照を追加した場合。これは、プロジェクトをコンパイルしようとしたときに修正され、ソリューションの一部であったときに破損しました。なぜなら、VSはProject1のパッケージをソリューション内に復元しなくなるからです。
VS/Nugetがこのように動作する理由はわかりません。常にプロジェクトごとにパッケージフォルダを持っているわけではないのですか?ディスクスペース節約(これは絶対に何もないでしょう)?
../../Project2/Packages/MyNugetDepedency.dll
これを回避してすべてを動作させる方法はありますか?
私はあなたがNuGet経由でのProject1を参照するとよいでしょうとは思いません。それを通常のProject Referenceを介して参照してください。 – Andy
@andy。私はそれを少し明確にする必要があります。私はナゲット経由でProject1を参照していません。そのプロジェクトのリファレンス。私は、例えばroslynのようなnuget.orgのnugetパッケージを参照しているだけです。 – coding4fun
ああそうです。親ディレクトリのproject1と2の両方にSLNファイルが必要であるように見えます。これはproject1/2フォルダと同じレベルのパッケージを持つはずです。 – Andy