2015-12-25 7 views
14

を参照して、私は次のようなエラーメッセージが表示されます:ビルドエラーは、このプロジェクトは、NuGet

重大度コード説明プロジェクトファイルの行の抑制状態 エラーこのプロジェクトは、NuGetパッケージ(複数可)を参照

ことこのコンピュータに が見つかりません。それらをダウンロードするには、NuGet Package Restoreを使用してください。 の詳細については、 http://go.microsoft.com/fwlink/?LinkID=322105を参照してください。 ファイルがありません .. \ packages \ Microsoft.Net.Compilers.1.1.1 \ build \ Microsoft.Net.Compilers.props。 MusicKarma C:\ユーザーは、私は私のパッケージフォルダで見るとメーカー2015 ビジュアルプロジェクト\ \ MusicKarma \ MusicKarma.csprojは268

、私は名前のMicrosoft.Net.Compilers.propsファイルを検索することができます\ブライアン\ドキュメント\します

私はNuget Restoreを使用しようとしましたが、私はすべてのパッケージを持っていると言っています。私を助けることができる人?

私はこのプロジェクトをTFSから自分のコンピュータの1台に持っていくときに起こります。

答えて

15

まず、MusicKarmaプロジェクトにpackages.configファイルにMicrosoft.Net.Compilersが含まれているかどうかを確認します。それ以外の場合は、MusicKarma.csprojからそのNuGetパッケージを使用してすべてを削除することができます。

Microsoft.Net.Compilers NuGetパッケージを使用している場合は、パスが正しくないと思われます。エラーメッセージのディレクトリ名を見ると、MusicKarmaソリューションファイル(.sln)がMusicKarma.csprojと同じディレクトリにあると推測されます。そうであれば、packagesディレクトリはおそらく間違っているでしょう。デフォルトではpackagesディレクトリはソリューションディレクトリの中にあるからです。その場合は、あなたが問題を解決することができますので、

C:\Users\Bryan\Documents\Visual Studio 2015\Projects\packages\Microsoft.Net.Compilers.1.1.1\build 

:で小道具ファイルを探しているあなたのMusicKarma.csprojファイルなくなり

C:\Users\Bryan\Documents\Visual Studio 2015\Projects\MusicKarma\packages 

:だから私はあなたのパッケージディレクトリがあると仮定していますMusicKarma.csprojファイルのパスを編集するか、NuGetパッケージを再インストールしてください。

18

この問題は、私の解決策ではないファイルシステムにフォルダを作成していて、いくつかのプロジェクトを移動したときに現れました。

パッケージパスはcsprojファイルからの相対パスであることが分かります。だから、私は参照の "HintPath" を変更しなければならなかった:

<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> 
     <HintPath>..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath> 
     <Private>True</Private> 
</Reference> 

へ:

<Reference Include="EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL"> 
     <HintPath>..\..\packages\EntityFramework.6.1.3\lib\net45\EntityFramework.dll</HintPath> 
     <Private>True</Private> 
</Reference> 

お知らせダブル ".. \" 'HintPath' に。

<Error Condition="!Exists('..\packages\Microsoft.Net.Compilers.1.1.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Net.Compilers.1.1.1\build\Microsoft.Net.Compilers.props'))" /> 

へ:再び

<Error Condition="!Exists('..\..\packages\Microsoft.Net.Compilers.1.1.1\build\Microsoft.Net.Compilers.props')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Microsoft.Net.Compilers.1.1.1\build\Microsoft.Net.Compilers.props'))" /> 

、 ".. \" 二重に気づく

私はまた、例えば、私は変更しなければならなかった、私のエラー条件を変更しなければなりませんでした。

+0

おかげで、あなたは私の一日:) – katmanco

+0

感謝を保存し、あなたは私をたくさん助けた、気をつけなりますパッケージフォルダへのパス –

1

また、私は.csprojファイルからのコードのこの部分を取ったこのエラー を持っていた:貴重な答えを

<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> 
     <PropertyGroup> 
     <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> 
     </PropertyGroup> 
     <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> 
    </Target> 
+1

あなたはどういう意味ですか:*私は.csprojファイル*のこの部分を取ったのですか?あなたはそれを削除しましたか? –

+0

いいえ、コードの一部だけを削除してください。メモ帳で.csprojファイルを開く場合は、Targuetコードを削除して保存し、正常に開きます –

関連する問題