тип или имя пространства имен "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 для восстановления пакетов.

https://docs.nuget.org/consume/package-restore