Nano Hash - криптовалюты, майнинг, программирование

Как добавить ссылку на пространство имен Windows.ApplicationModel.DataTransfer в Visual Studio 2019 в Windows 10 PRO

Windows 10 Pro, Visual Studio 2019, .Net версии 4.8.03752 (Чистая установка всего несколько дней назад).

Я пытаюсь добавить пространство имен Windows.ApplicationModel.DataTransfer в свой проект C# в Visual Studio 2019 (бесплатная версия). Я не могу найти ничего, что можно было бы добавить в разделе «Ссылки» -> «Добавить ссылки» -> «Сборки».

В документации для ClipboardContentOptions указано, что dll — это Windows.ApplicationModel.DataTransfer.dll, поэтому я ищу dll и нахожу версии в

C:\Windows\System32 (799 КБ) C:\Windows\SysWOW64 (566 КБ),

Я пытаюсь добавить эти dll через References->AddReference->Browse и в обоих случаях получаю ошибку

A Reference to <path to dll> could not be added. Please make sure that the file is accessible and that it is a valid assembly or COM component

Что здесь происходит и как добавить ссылку на это пространство имен?

Заранее спасибо.


Ответы:


1

Windows.ApplicationModel.DataTransfer — это пространство имен WinRT API. Самый простой способ получить доступ к этим пространствам имен — добавить Microsoft.Windows.SDK.Contracts пакет NuGet следующим образом:

  1. Откройте свой проект/решение в Visual Studio.

  2. Убедитесь, что вы ориентируетесь на .NET Framework 4.6.1+ или .NET Core 3.0+ в соответствии с требованиями пакета NuGet.

  3. Преобразуйте все старые ссылки package.config в вашем проекте в новый формат PackageReference, щелкнув ссылку package.config правой кнопкой мыши и выбрав Migrate package.config to PackageReference.

  4. В обозревателе решений щелкните правой кнопкой мыши ссылки и выберите Управление ссылками NuGet.

  5. Щелкните заголовок «Обзор», затем введите Microsoft.Windows.SDK.Contracts в поле поиска.

  6. Выберите пакет Microsoft.Windows.SDK.Contracts (доверенный Microsoft), затем нажмите кнопку «Установить» справа.

Кроме того, вы можете добавить ссылку на Windows.winmd из соответствующей папки SDK, обычно расположенной по адресу C:\Program Files (x86)\Windows Kits\10\UnionMetadata.

08.03.2020
  • Спасибо, Рафаэль. К сожалению, у меня все еще есть проблемы. Во-первых, для других, пытающихся добавить это пространство имен, кажется, что для «Формата управления пакетами по умолчанию» необходимо установить значение «PackageReference» (в «Инструменты»-> «Настройки диспетчера пакетов NuGet»). 09.03.2020
  • После этого ваше решение работает, как описано для недавно созданного проекта C# Form. Однако проект, который я пытаюсь изменить, был создан много лет назад в ранней версии VS и обновлялся в течение нескольких итераций, а сейчас используется VS 2019. 09.03.2020
  • При добавлении пространства имен с помощью NuGet этот проект сообщает об успешной установке пакетов, но сообщает об ошибке (отсутствует ссылка на сборку) во время компиляции. Кажется, что-то не так с настройками моего проекта. Есть ли у кого-нибудь предложения о том, где я должен искать? 09.03.2020
  • У меня была цель .NET Framework 4.5. Теперь он установлен на 4.7.2 и работает нормально. 09.03.2020
  • @user3495258 user3495258 Отлично, отредактирую ответ с учетом вашего отзыва. 09.03.2020
  • @user3495258 user3495258 Прежде чем уйти, проголосуйте и/или примите ответ, это поможет сообществу. Спасибо! 10.03.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..