nuget.targets not foundエラーが原因でVisual Studioでプロジェクトを開くことができない


105

だから私はhttp://www.twitterizer.net/downloads/からTwitterizerをダウンロードしました

私はそれをVisual Studioで開こうとすると、これらすべてのnugetエラーが発生します。

The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file 
exists on disk.

何が起こっている。どうすればこれに対処できますか?


5
他の誰かがこれに遭遇した場合のためのメモです。Nuget 2.7では、新しいタイプのパッケージ復元が導入されました。古いスタイルを使用したプロジェクトを新しいスタイルを使用するソリューションに追加しようとすると、同じエラーが発生します。:それを修正するための方法は、新しいスタイルにプロジェクトを移行することですdocs.nuget.org/docs/workflows/...
Slapout

回答:


171
  1. Nugetをインストールします。
  2. ソリューションを右クリックして、「NuGetパッケージの復元を有効にする」を選択します。Visual Studio 2013以降では、代わりに「NuGetパッケージの復元」を選択してください。
  3. 警告で[OK]をクリックします。
  4. ソリューションを閉じて再度開きます。

今ではおかしな話になるはずです。


2
これをありがとう、彼らがそれのためにVSでより役立つエラーメッセージを与えたら素晴らしいでしょう。
rossisdead 2014年

2
これはnuget 2.7には適用されなくなったにもかかわらず、このエラーが発生します
ポールページ

@Slapoutの言及(元の質問へのコメント)の回避策を実行する必要があります
JasonS '19年

ここではまだ機能していませんが、復元する依存関係はもうないということです。私はすでにパッケージフォルダーを削除し、それを数回復元しました:(
rodrigorf

23

別の方法としては、テキストエディターで.csprojファイルを編集し、セグメントを削除またはコメントアウトします。


4
この場合を拡張するには-明示的な.nuget \ nuget.targetsファイルを含むソリューションから新しいファイルにプロジェクトを移動すると、この問題が発生します(NuGetパッケージを復元した後でも)。この場合、nugetを作成するか、 .targetsまたはプロジェクトファイルを手動で編集します。
ThisGuy 14

私のプロジェクトはNuGetパッケージ以外を使用しており、VSはこれを自動生成しているため、このソリューションも適用しました。.csprojから追加された行をキックアウトすることを可能にしたバージョン管理について天国に感謝します。
Ivan G

どのセグメントを削除する必要がありますか?
Zapnologica

18

このエラーは通常.csproj、ソリューションファイルを介さずに直接を開こうとしたときに発生し、.csprojインポートは次のようにNugetターゲットをインポートします。

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

それを解決するに.slnは、.csproj直接ではなくを開くか、またはimport上の行を削除します。

上記のエラーはsolution wise、パッケージの復元を使用している場合にのみ発生することに注意してください。これは推奨されなくなりました。


2
これは私が抱えていた問題です。
sparkyShorts 2017年

1
「上記のインポート行」の削除。私のためにトリックをしました。ありがとう!!
Bart

5

同じ問題に遭遇しましたが、私の場合、問題はフォルダー名のスペースでした:

Nugetは、「C:\ git \ My Path」が見つからなかったと言っていましたが、「C:\ git \ My%20Path」に移動できました。フォルダ名のスペースを削除すると、問題が「修正」されました。


これはまさに私の問題でした-ありがとうございました!
D.Nielsen

2

私はパーティーに遅れていることを知っていますが、これはこの問題を修正する方法についての本当に良いチュートリアルです。これを使ってプロジェクトを修正しました。

Visual Studioを閉じる移行しようとしているソリューションがVisual Studioで開いている場合、変更が失われる可能性があります。Visual Studioは変更を上書き/無視する場合があり、NuGet拡張機能は、ソリューション内の一部のプロジェクトでパッケージの復元が欠落していることを検出すると、パッケージの復元を再度有効にしようとします。

TFSを使用している場合は、ソリューションの.nugetフォルダーからNuGet.exeファイルとNuGet.targetsファイルを削除します。ファイル自体もソリューションワークスペースから削除されていることを確認します。NuGet.Configファイルを保持して、ソース管理へのパッケージの追加をバイパスし続けます。ソリューション内の各プロジェクトファイル(たとえば、.csproj、.vbproj)を編集し、NuGet.targetsファイルへの参照を削除します。任意のエディターでプロジェクトファイルを開き、次の設定を削除します。

真... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

それら。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105を参照して ください。欠落しているファイルは{0}です。TFSを使用していない場合は、ソリューションから.nugetフォルダーを削除します。フォルダー自体もソリューションワークスペースから削除されていることを確認します。ソリューション内の各プロジェクトファイル(たとえば、.csproj、.vbproj)を編集し、NuGet.targetsファイルへの参照を削除します。任意のエディターでプロジェクトファイルを開き、次の設定を削除します。

真... ...

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download

それら。詳細については、http://go.microsoft.com/fwlink/?LinkID=322105を参照して ください。欠落しているファイルは{0}です。移行スクリプト多くのユーザーが、MSBuildベースのパッケージの復元を無効にし、自動パッケージ復元に変換するための移行ツールを要求しています。処理されないエッジケースの可能性が高いため、NuGetチームはこれに対応するツールを提供しないことを決定しました。ただし、Owen Johnsonは、多くの場合に機能するPowerShellスクリプトを作成しました。GitHubから入手でき、自己責任で使用できます。つまり、シナリオで機能しない場合に備えて、実行する前に必ずソース管理にコミットしてください。

Nuget.targetの修正


1

私が取得するときnuget.targets not foundにエラーを私がするパッケージマネージャを使用してuninstall-package、プロジェクト内のパッケージの一つして、使用してそれを再インストールしますinstall-package。すると、nugets.targetファイルが再生成されるようです。


1

NuGet.targetsVisual Studio Solution Explorerで不足しているものを復元するためにこのエラーが発生した場合の最も簡単な解決策は、次のとおりです。

  1. ソリューションファイルを右クリック
  2. コンテキストメニューから[ Nugetパッケージの復元を有効にする ...]オプションをクリックします

これにより、「.nuget」フォルダに不足しているファイルがダウンロードされます。

上記は、すでにNugetがインストールされていることを前提としています-受け入れられない場合は、上記の受け入れられた回答に従ってください!

更新: 2013年以降のVisual Studioバージョンでは、オプションは「NuGetパッケージの復元」と呼ばれています。


1
nugetパッケージの復元オプションを有効にしません。私はただ持っていrestore nuget packagesます。
Zapnologica

このVS2013後にメニューオプションの新しい名前である-答えは更新
エミル・
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.