Как добавить ссылку на Windows.Foundation.FoundationContract в ConsoleApp для разрешения Типа IPropertySet - PullRequest
0 голосов
/ 09 февраля 2019

Это похоже на настоящую ошибку новичка.

У меня есть ConsoleApp, который я использую как часть решения UWP (как описано в этой серии сообщений ).В проекте ConsoleApp (не в проекте UWP) есть эта строка кода ...

string parameters = ApplicationData.Current.LocalSettings.Values["exampleSetting"] as string;

... но в моем коде Visual Studio говорит, что для Значения ...

Тип IPropertySet определен в сборке, на которую нет ссылок.

Visual Studio предлагает ссылаться на Windows.Foundation.FoundationContract.На странице Windows.Foundation Namespace написано, что она является частью сборок Windows.Foundation.dll, Windows.dll.Я нашел эту копию (C: \ Windows \ assembly \ NativeImages_v4.0.30319_32 \ Windows.Foundation \ 870ea1ce5e024b92ef1b64ebeeb38cc7), но ссылка на нее пахнет неправильно.

1 Ответ

0 голосов
/ 09 февраля 2019

Ах, так что я заметил, что если я F12 сделаю на LocalSettings, то верхняя часть определения, которое открывается, имеет это ...

#region Assembly Windows.Foundation.UniversalApiContract, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime
// C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\3.0.0.0\Windows.Foundation.UniversalApiContract.winmd
#endregion

Так что я перешел к C: \ Program Files (x86) \ Windows Kits \ 10 \ Ссылки и обнаружил папку Windows.Foundation.FoundationContract .Там нет dll, но если вы переключите диалоговое окно визуальной ссылки студии на «все типы файлов», я мог бы добавить ссылку, используя файл Windows.Foundation.FoundationContract.winmd (внутри C: \ Program Files (x86) \ Windows Kits \ 10 \ References \ Windows.Foundation.FoundationContract \ 2.0.0.0).

Мой код теперь компилируется и запускается.Тем не менее, я не уверен на 100%, является ли это правильным способом решения этой проблемы.

...