42

Visual Studio Express 2012 を使用してプロジェクトをセットアップし、C# コードを追加して、エミュレーターに正常にコンパイル/デプロイしました。ある時点で、JSON を使って何かをしたいと決心し、NuGet パッケージとして入手できるJson.NET フレームワークを使用する必要があることに気付きました。コマンドを使用して、このフレームワークを正常に追加しましたInstall-Package Newtonsoft.Json

MSVC が 2 日前に提供した更新プログラムをインストールしようとしましたが、インストールに失敗し、プロジェクトを再度開くことができませんでした。MSVC の再インストールは役に立たなかったので、Windows を以前の状態に復元することになりました。プロジェクトを再び開くことができたので、NuGet パッケージを再インストールしたいと思いました ( MSVCではなく、プロジェクト内にインストールされていることを知りませんでした)。インストール時にエラーが発生したため、パッケージコンソールからすべてをアンインストールしようとしました。

簡単に言えば:

  • Nuget パッケージ コンソールに「パッケージがインストールされていません」と表示されるGet-Package
  • もう一度実行Install-Package Newtonsoft.Jsonするとエラーが発生します

    Newtonsoft.Json 5.0.6 をインストールできませんでした。「WindowsPhone,Version=v8.0」を参照するプロジェクトにこのパッケージをインストールしようとしましたが、パッケージにはこのフレームワークと互換性のあるアセンブリが含まれていません

  • [NuGet パッケージの管理] ダイアログでは、[インストール済み] の下にパッケージが表示されませんが、オンライン パッケージでは、json パッケージが一覧表示され、インストール済みとしてマークされています (そのため、インストールを試みることはできません)。

今、私は完全に迷っています。パッケージを適切にインストールする方法も、適切に削除する方法もわかりません。私のプロジェクトファイルは壊れていますか? どうすれば修理できますか?


[編集] 今ではさらに混乱しています。NuGet パッケージ マネージャー (MSVC ではありません) を更新し、Json.NET を再インストールしようとしました。

  • ダイアログでは、「インストール済み」の下にまだ表示されていません
  • オンラインパッケージリストでは、インストール済みとしてマークされなくなりましたが、「インストール」をクリックしても何も起こりませ
  • Get-Packageコンソールに、パッケージがインストール済みとして表示されます

    PM> Get-Package
    
    Id                             Version              Description/Release Notes                                                                                                                                                                                            
    --                             -------              -------------------------                                                                                                                                                                                            
    Newtonsoft.Json                5.0.6                Json.NET is a popular high-performance JSON framework for .NET
    
  • 「Uninstall-Package Newtonsoft.Json」でアンインストールしようとすると、「The Package 'Newtonsoft.Json' could not be found」というメッセージが表示される

  • 私のプロジェクト フォルダーでは、packagesディレクトリに「Newtonsoft.Json.5.0.6」サブフォルダーが表示されます。

最初からやり直して、新しいプロジェクトを作成する必要がありますか? :/


packages.dgml の内容:

<?xml version="1.0" encoding="utf-8"?>
<DirectedGraph GraphDirection="LeftToRight" xmlns="http://schemas.microsoft.com/vs/2009/dgml">
  <Nodes />
  <Links />
  <Categories>
    <Category Id="Projekt" />
    <Category Id="Paket" />
  </Categories>
  <Styles>
    <Style TargetType="Node" GroupLabel="Projekt" ValueLabel="True">
      <Condition Expression="HasCategory('Projekt')" />
      <Setter Property="Background" Value="Blue" />
    </Style>
  </Styles>
</DirectedGraph>
4

6 に答える 6

56

ソリューションまたはプロジェクトに、packages.config. このファイルを開くと、NuGetインストールされているすべてのパッケージが表示されます。

ファイルは次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Json" version="2.0.3" targetFramework="net45" />
</packages>

パッケージの行を削除してファイルを保存するだけです。

<?xml version="1.0" encoding="utf-8"?>
<packages>
</packages>

その後、NuGet再度実行すると、インストールされます。

JSON.NET NuGet パッケージは、Windows Phone 8.0 プロジェクトでのみ動作するはずです。VS2012 NuGet マネージャーに追加すると、JSON.NET の WP7 バージョンが取り込まれます。(パッケージ\Newtonsoft.Json.4.5.10\lib\sl3-wp\Newtonsoft.Json.dll)

JSON.NET は、WP8 から使用できるポータブル クラス ライブラリとしても利用できるようになりました (NuGet またはソース形式で利用可能)。

アップデート:

NuGet の最新バージョンにはアンインストールがあります。

VS 2013:

ソリューションで、参照を右クリックし、NuGet パッケージを管理すると、左上隅に「インストール済みパッケージ」が表示されます。パッケージを選択すると、アンインストール オプションが利用可能になります。

VS 2015:

ソリューションで、[参照] と [NuGet パッケージの管理] を右クリックし、右上にある [インストール済み] タブを見つけます。パッケージにカーソルを合わせると、「X」が表示されてアンインストールされます。

VS 2017:

ソリューションで、右クリックして [ソリューションの NuGet パッケージを管理] をクリックし、左上にある [インストール済み] タブを見つけます。パッケージをクリックすると、右側のパネルに「アンインストール」ボタンが表示されます。

VS 2019:

(2017 年と同じ) ソリューションで、右クリックして [ソリューションの NuGet パッケージを管理] を選択し、左上にある [インストール済み] タブを見つけます。パッケージをクリックすると、右側のパネルに「アンインストール」ボタンが表示されます。

于 2013-09-05T07:38:44.407 に答える
8

新しい Windows 10 マシンに 4 時間座っていたところ、Visual Studio 2015 で参照が機能しなかった理由と、NuGet パッケージを復元できなかった理由がわかりませんでした。何らかの理由で、TFS は 2 つのパッケージ フォルダーを追加しました。

場所:

C:\Users\YourUser\Documents\Visual Studio 2015\Projects\YourProject\packages

C:\Users\YourUser\.nuget\packages

両方のパッケージ フォルダーを削除すると、NuGet パッケージを復元でき、すべてが再び機能しました。

于 2015-10-19T12:10:45.003 に答える
1

確かに少し紛らわしいですが、ソリューションを右クリックして [nuget パッケージの管理] を選択すると、さまざまなオプションが利用可能になります。そこからアンインストールできるはずです。

Json.net と WP8 の詳細については、Windows Phone 8 JSONで回答を確認してください。

于 2013-09-05T07:39:27.293 に答える