тип или имя пространства имен "Newtonsoft" не удалось найти
Я посмотрел этот вопрос, но я не вижу слишком много ответов, и, очевидно, ни один из них не был полезен, иначе я бы не спрашивал. Я неофит .NET.
моя локальная среда-Win7, Microsoft Virtual Web Developer 2010 Express. Я добавил NewtonSoft.JSON как пользовательская библиотека компонентов.
Я создал простой веб-сервис "HelloWorld", используя Newtonsoft.Пользовательские компоненты Json.
когда я делаю сборку на своем локальном машина (Visual Web Developer 2010 Express) отлично работает. Я фактически получаю действительный вывод JSONP, а не XML.
когда я FTP мои файлы на удаленный веб-сервер, мой веб-сервис не работает. Я понимаю:
описание ошибки компиляции: во время компиляции ресурса, требуемого для обслуживания этого запроса. Пожалуйста просмотрите следующие сведения об ошибке и измените источник код соответственно.
компилятор сообщение об ошибке: к возникновению ошибки cs0246: тип или имя пространства имен "Newtonsoft" не удалось найти (вам не хватает директивы using или ссылка на сборку?)
Ошибка Источник:
строка 7: использование системы.Сеть.Сервисы.Протоколы;
строка 8: использование системы.Сеть.Скрипт.Услуги;
строка 9: использование Newtonsoft.В JSON;
строка 10:
строка 11: пространство имен System.Сеть.Скрипт.Сервисы.CS
Я пробовал все, начиная с копирования всей папки проекта в удаленную папку, а затем удаляя все и просто копируя мой asmx и web.файл конфигурации, и я все еще получаю ошибку. Я скопировал папку bin с Newtonsoft.формат JSON.DLL в удаленный сервер, затем попытался скопировать его в корневую папку, и безрезультатно.
есть ли какая-то операция, которая должна быть выполнена на удаленном сервере, чтобы он мог использовать Newtonsoft.формат JSON.dll файлы?
3 ответов
при копировании файлов решений, некоторые ссылки могут быть "потеряны". Попробуйте удалить ссылку и добавить ее снова после копирования файлов и открытия на другой машине.
кроме того, взгляните на этот вопрос:ссылка dll не копируется в bin с проектом развертывания, вызывающим ошибку
Спасибо за указатель и ссылка. После борьбы я заставил его работать. Наконец, мой друг, эксперт по .NET, связался со мной и рассказал, как правильно развернуть мой проект на целевом сервере. Я не понял, что есть отдельная папка, куда идет ваша сборка. Я сделал "пакет развертывания сборки" в виде zip-файла. Затем я распаковал его на жестком диске и опустил в чистую папку на веб-сервере (на самом деле, я загрузил его в корень каталог), и вуаля, это сработало.
еще одна возможная причина этой проблемы - если проект использует пакеты NuGet, и они еще не были восстановлены (загружены).
их может потребоваться восстановить в Visual Studio или вы можете использовать nuget.исполняемый файл командной строки exe для восстановления пакетов.