2016-07-27 22 views
1

私は他のチームメンバーと一緒に大きなC#プロジェクトを進めています。これまでのところ、プロジェクトは無秩序になっており、すべての人が開発のために環境を稼働させる方法を持っていました。新しいメンバー(および今後のメンバー)のために、私は開発プロセスを文書化して締め固めようとしています。プロジェクトはgitによってバージョン管理され、メンバーはVS2012、VS2015、Monodevelopを使用しています。成功したNugetパッケージの復元後にプロジェクトを認識しないプロジェクト

C#ソリューションのC#プロジェクトには、必要なNuGetパッケージがあります。私は.gitignoreファイル以下にあります。

# NuGet Packages 
*.nupkg 
# Ignore the actual packages but not the config file for them 
**/packages/**/* 
!**/packages/repositories.config 
# don't ignore build/, which is used as an MSBuild target. 
!**/packages/build/ 

私は1台のマシンからプッシュした後、他にクローンを作成する場合ので、私は中に含まれるプロジェクトとソリューションを持っていないこれらのプロジェクトがあるpackages.configファイルを、持っています必要なパッケージとバージョンの名前を含むxmlファイル。私の問題は、私がうまく働いたレポを、クローニングするVS2015のCommunity Editionと新鮮なWindows 7のマシン上で試してみました

されている場合ここで

です。その後、NuGetパッケージの復元を促すメッセージが表示されました。私はそれをしました。彼らがインストールされて表示されません enter image description here しかし、私のプロジェクトの私の参考文献に: enter image description here

隔離しようとした私は、パッケージとバージョンが興味のあるプロジェクトのためのNuGetパッケージマネージャビューと一緒にインストールされていることがわかります小規模プロジェクトの問題

これは奇妙なことだと私は考えていたので、私は解決策を閉じ、小さなコンソールアプリケーションプロジェクトで新しい小さなソリューションを開始しました。このプロジェクトに古いバージョンのNUnitを追加し、NuGetパッケージがpakcagesディレクトリにインストールされていることを確認しました。その後、私は解決策を閉じ、packagesディレクトリを削除しました。私が解決策を開いたとき、パッケージがそこになかったことに気づいたので、パッケージメニューを右クリックしてパッケージの復元を試みました。これはうまくいった。

私は大きなC#プロジェクトで他の設定をしなければならないと思います。私はそれが私のシステムのどこか他の場所にパッケージをインストールしているかどうかわかりません。どこを見るか、どのような設定を見るかは、参考になるでしょう。

(パッケージが明らかにインストールされている場合は、私は他にこの問題を見ていないが、プロジェクトはまだそれを認識していない)

アップデート2016年7月28日 私はnuget.configを見て持っていましたソリューション用のファイルと、ラインがそこにあったことが表示されます。

<add key="repositorypath" value="External\Packages" /> 

それから私はExternal Packagesという名前の私のソリューションファイルと同じレベルにディレクトリを見つけました。私は、もともとこのソリューションとそのプロジェクトを立ち上げた人はもはや周囲にいないことに気付きたいと思います。だから私はそのディレクトリとnuget.configファイルを削除しました。私はVS2015を再起動し、NuGet Packagesの復元アクションを実行しました。これでパッケージが復元され、packagesというディレクトリが作成されました。これは今私がこの動作を再現しようとした私の小さなプロジェクトで見ていたものを模倣しています。

しかし、NuGet Package Managerにはパッケージがインストールされていると言われていますが、「References」には表示されません。

私は、これらのパッケージが参照用に格納されている場所を見るためにVSを設定する方法があるのだろうかと疑問に思っていますか?

+1

.NETバージョンが一致しない場合、同じ問題が発生することがあります。彼らがそうすることを確かめるのは簡単なチェックなので、私はそれを帽子で終わらせると思った。 –

+0

Ahh .. .NET 4.5とモノを使用してクロスプラットフォームで動作するようにしています。それが問題であれば、パッケージの復元プロセスにどのような影響がありますか? – Jesse

+0

質問を編集して、参照を含む.csprojファイルを追加してください。 –

答えて

0

@RoberHarveyには適切な解決策がありました。問題は私のソリューションのプロジェクトの.csprojファイルにありました。これはすべて、パッケージを追跡する良い方法は決してありませんでしたが、それを修正するために過去に失敗した試みがありました。だから私のプロジェクトファイルにはいくつかの矛盾が残っていました。これは、古いnuget.configファイルを削除した後に、問題のパッケージをアンインストールして再インストールすることで解決されました。

関連する問題