2016-09-17 5 views
0

Отладчик продолжает выдавать мне это сообщение об ошибке «System.IO.FileLoadException» в окне вывода Visual Studio каждый раз, когда я вызываю метод toJSONString() в сборке dll, который у меня был созданный ранее. См. Метод ниже. Я использовал NuGet для загрузки и ссылки на библиотеку newtonsoft-json.dll, поэтому почему попытка выполнения остается неудачной, выходит за рамки меня.'System.IO.FileLoadException' с newtonsoft-json

Object output; 
... 
public String toJSONString() 
{ 
    String strOut = ""; 
    if (output != null) 
    { 
     strOut = JsonConvert.SerializeObject(output); 
    } 

    return strOut; 
} 

В окне Проводника Решения под Ссылки я проверил путь Newtonsoft.Json, который является C: \ temp2 \ DataTables_Examples \ пакеты \ Newtonsoft.Json.9.0.1 \ Lib \ net45 \ Newtonsoft.Json .dll. Этот DLL-файл существует. Я не знаю, почему приложение не видит его? Любая помощь будет оценена по достоинству.

+1

Попробуйте очистить и Перестроить решение. – Chandru

+0

Вы попробовали 'update-package Newtonsoft.Json -reinstall'? –

ответ

2

Возможно, это проблема с версией вашего пакета. Попробуйте this solution для кого-то с аналогичной ошибкой.

+0

Спасибо за ссылку. Это помогло. Нашел решение. У моего файла web.config не было ссылки на пакет newtonsoft.json, и мой проект dll ссылался на другую версию пакета newtonsoft.json. Как только оба проекта ссылались на одну и ту же версию, все сработало. Я не понимаю, почему, однако, они должны быть одной и той же версией? – Alan

0

Есть ли у вас какое-либо программное обеспечение, которое просматривает библиотеку или ее папку? (например, NotePad ++ или что-то еще) Также было бы лучше, если бы вы включили пакет непосредственно в свой проект. Возможно, вам стоит попытаться выяснить, существует ли файл для вашей студии (https://msdn.microsoft.com/en-us//library/system.io.file.exists(v=vs.110).aspx). (пример со страницы)

string curFile = @"c:\temp\test.txt"; 
Console.WriteLine(File.Exists(curFile) ? "File exists." : "File does not exist."); 

Может быть, эта ссылка также помогает, чтобы проверить (студия) Acces права: Checking file/folder access permission

+0

В проект действительно входит пакет. Библиотека DLL, которую я создал ранее, также имеет копию того же пакета, который он ссылается. Я вставил код, который вы предоставили, и он возвращает File. – Alan

Смежные вопросы