WedX - журнал о программировании и компьютерных науках

Не удалось загрузить DLL Microsoft.WITDataStore32.dll, однако DLL находится в каталоге bin

Unable to load DLL 'Microsoft.WITDataStore32.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

Другие ответы, которые я вижу по этой проблеме, говорят, что их копирование в каталог bin является решением. Я ясно вижу свой в каталоге bin. Я удалил и переустановил расширенный пакет nuget TFS, очистил, пересобрал и т. д. всего около 50 раз.

Эта ошибка возникает только во время выполнения. Решение строится просто отлично.

Помимо сжигания всего этого дотла, как я могу решить эту проблему?

namespace (mynamespace)
{
    class TFSConnection
    {
        string tfsUrl = "(tfsurl)";
        string project = "(tfsProject)";
        public ITestManagementTeamProject GetProject()
        {
            TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(TfsTeamProjectCollection.GetFullyQualifiedUriForName(tfsUrl));
            ITestManagementService tms = tfs.GetService<ITestManagementService>();

            return tms.GetTeamProject(project);
        }
    }
}
13.03.2018

  • Покажите фрагмент кода, который пытается получить доступ к этому модулю. 13.03.2018
  • @PMF Я добавил свой код выше (с очисткой). Согласно трассировке стека, он бросает tms.GetTeamProject(). Отслеживание до DataStoreNative32.CreateDatastore(IntPtr& handle) 13.03.2018
  • Какую версию TFS вы используете? А какую версию VS используете? Включая копирование DLL «Microsoft.WITDataStore32.dll» в папку bin, вы также можете попробовать другое решение в следующем случае: stackoverflow.com/questions/31031817/ 14.03.2018
  • @CeceDong-MSFT TFS 2015 и перенос проекта из Visual Studio 2013 в 2015. 14.03.2018
  • Ваш проект работает в VS 2013? Какую версию расширенного пакета nuget TFS вы установили? 15.03.2018
  • @CeceDong-MSFT Он отлично работает в 2013 году, но необходимые расширенные библиотеки для 2015 года не работают. Эта проблема в этой теме — это то, что я получаю при использовании решения в 2015 году с последней версией пакета nuget. 15.03.2018
  • Как насчет использования расширенного пакета nuget TFS 12.0? 16.03.2018
  • @CeceDong-MSFT Этот пакет предназначен для более старых версий Visual Studio, не так ли? Мне сказали, что это не будет работать в 2015 году и выше. 21.03.2018
  • @Reed Извините, я имею в виду, если вы используете расширенный пакет nuget TFS 14.0 и скопируете Microsoft.WITDataStore32.dll в папку bin, как описано в этом случае: stackoverflow.com/questions/31031817/ 23.03.2018

Ответы:


1

Вы можете получить данное исключение, даже если указанный файл есть на самом деле, но его зависимости нет. Если пакет поставляется с дополнительными dll (что я предполагаю, потому что это каким-то образом похоже на оболочку C #), убедитесь, что они также находятся в папке bin.

К сожалению, если собственная dll отсутствует, .NET не сообщит вам, какая из них отсутствует, а вместо этого вернет имя последней управляемой DLL в трассировке стека.

13.03.2018
  • Итак, как я могу узнать, какие зависимости отсутствуют в решении? 13.03.2018
  • Нет простого способа определить это. Я помню, что в прошлый раз, когда у меня возникла эта проблема (в несвязанном контексте), я много пытался, пока не сработает. В вашем конкретном случае см. stackoverflow.com/questions/31031817/ 14.03.2018
  • Да, я видел этот поток, но он не применим, потому что DLL очень четко находится в моем каталоге bin. В этом единственном решении более 75 проектов, поэтому метод проб и ошибок, к сожалению, не идеален. 14.03.2018
  • Возможно, вы сможете получить дополнительную информацию, если подключите отладчик в смешанном (собственном) режиме. Или используйте SysInternals Process Monitor, чтобы узнать, какой файл он пытается открыть. 15.03.2018
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]