Невозможно установить пакет Nuget в проекте .NET Framework 4.7.2 - PullRequest
1 голос
/ 04 апреля 2019

В моем WPF проекте, использующем .NET Framework 4.7.2 в VS2017, я пытаюсь установить Interop.MSUtil.dll NuGet в соответствии с предложением здесь . Мне нужно, чтобы этот пакет был установлен, поэтому кто-нибудь может помочь мне установить его или предоставить обходной путь.

Error :

Install-Package: не удалось установить пакет 'Interop.MSUtil.dll 1.0.0'. Вы пытаетесь установить этот пакет в проект, предназначенный для .NETFramework, Version = v4.7.2, но пакет не содержит ссылок на сборки или файлов содержимого, совместимых с этой платформой. Для получения дополнительной информации свяжитесь с автором пакета. В строке: 1 символ: 1 + Install-Package Interop.MSUtil.dll -Version 1.0.0 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: Не указано: (:) [Install-Package], Exception + FullyQualifiedErrorId: NuGetCmdletUnhandledException, NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

Ответы [ 2 ]

0 голосов
/ 05 апреля 2019

Похоже, что пакет NuGet для Interop.MSUtil.dll несовместим с .NET 4.7.2 Framework.

Однако, если на вашем компьютере установлен LogParser и у вас есть права администратора, вы можете создать его заново.локально.

  1. Найдите свою копию LogParser.Наиболее вероятное место - C:\Program Files (x86)\Log Parser 2.2.

  2. Найдите командную строку разработчика .В Windows 10 просто введите developer command prompt в строке поиска Windows.

  3. Запустите его от имени администратора.Обычно это можно сделать, щелкнув правой кнопкой мыши пункт «Командная строка разработчика» для контекстного меню.

  4. cd в том месте, где установлен LogParser.

  5. Выполните следующую команду:

    tlbimp LogParser.dll /out:Interop.MSUtil.dll

Это должно создать новую версию Interop.MSUtil.dll, которая будет дружественной к вашей версииFramework.

Теперь вы можете добавить его в качестве ссылки вручную, перейдя в каталог LogParser и выбрав новую DLL.

Не забывайте, что вам может потребоваться установить Embed Interop Types в False.

Обратите внимание, что это сильно зависит от этого предыдущего ответа .

0 голосов
/ 04 апреля 2019

Если пакет Nuget не объявлен установленным, его нельзя установить через менеджер пакетов.

Однако вы можете установить файл .dll. Сначала установите его на некоторый проект, где он может быть установлен Затем в папке пакетов проекта найдите файл .dll, который вы считаете подходящим. Наконец добавьте его как ссылку на проект. Он может работать или не работать в зависимости от самого пакета, но это единственный способ, если у него есть какие-либо шансы на работу.

...