web-dev-qa-db-ja.com

Visual Studio 2015-C#Windowsユニバーサルアプリにアセンブリリファレンスがありません

今日、Windowsユニバーサルアプリプロジェクトをgithubから、Visual Studio2015の新しいインストールを実行している新しいマシンに複製しました。

プロジェクトが読み込まれた後、すべてのページとプロパティに赤の下線が引かれ、多くのエラーが発生していることに気付きました。

CS0246 C# The type or namespace name "<name>" could not be found (are you missing a using directive or an Assembly reference?)

だけでなく、

_CS0518 C# Predefined type 'System.Void' is not defined or imported_

_CS0012 C# The type '' is defined in an Assembly that is not referenced. You must add a reference to Assembly 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'._

CS1545 C# Property, indexer, or event 'Application.Suspending' is not supported by the language; try directly calling accessor methods 'Application.add_Suspending(SuspendingEventHandler)' or 'Application.remove_Suspending(EventRegistrationToken)'

CS0012は、この問題に対処するために何が必要かについての情報を実際に提供していることに注意しました。

アセンブリ 'mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089'への参照を追加する必要があります。

しかし、project.jsonファイルを見ると、

_"dependencies": {
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0"
}
_

その結果、プロジェクトはビルドまたは実行されず、多くのエラーが一覧表示されますが、これをどのように修正できますか?

8
rcbevans

Solution Explorer内のプロジェクトのReferencesを見ると、Microsoft.NETCore.UniversalWindowsPlatformが依存関係としてリストされていても、プロジェクトから欠落しているため、問題が発生していることがわかります。

Visual Studioは、アセンブリが依存関係であり、参照する必要があることを認識していますが、セットアップ中にすべてのWindows 10開発ツールをインストールした場合でも、Visual Studio 2015にプリインストールされていないようで、自動フェッチされていないようです。必要だとわかっていてもパッケージ!

修正するには、NuGetを使用してパッケージを手動でインストールする必要があります。そうすると、参照として正しく解決されます。

これを行うには、Referencesを右クリックし、次にManage NuGet Packages...をクリックします。

NuGet Package Manager画面でMicrosoft.NETCore.UniversalWindowsPlatformを検索すると、完全に一致します。

右側の詳細ペインでInstallをクリックすると、Visual Studioがパッケージをフェッチし、プロジェクトの参照として含めます。

赤い下線がすべて消え、プロジェクトの作業を続けることができます。

23
o0rebelious0o

私も同様の問題を抱えていました。私が自分で作成した普遍的なプロジェクトには、そこに参照がありました。 Windows IOTサイトのサンプルの一部は、ダウンロード時に参照がありませんでした。 NUGETは、すでにインストールされていると述べました。私にとっての解決策は、ソリューションを構築することであり、それ自体が修復されました。

1
user5787309

私のために働いたのは、ツール-> nugetパッケージマネージャー->ソリューションのnugetパッケージを管理し、ソリューションのパッケージを更新することでした。それは多くのものを追加し、ソリューションを更新します。

0
oferb